面向对象思想概述

1.概念

面向对象是一种基于面向过程的编程思想;

面向过程: 强调的是每一个功能的步骤;

面向对象: 强调的是对象,由对象去调用功能;

2.思想特点

  • 是一种更符合我们思想习惯的思想;
  • 可以将复杂的事情简单化;
  • 我们由事情的行动者变成了执行者;

3.典型案例–把大象装进冰箱

(1).面向过程

都有哪些动作呢?

  • 打开冰箱门

  • 装进大象

  • 关闭冰箱门

代码体现

class Demo {
    public static void main(String[] args) {
        /*
        System.out.println("打开冰箱门");
        //打开冰箱门的东西,我现在仅仅是为了演示,就写了一个输出语句
        //其实,它可能需要做很多操作。
        //这个时候代码就比较多一些了
        //假设我要多次打开冰箱门,
        //代码一多,每次都写一遍,麻烦不
        //我们就应该用方法改进

        System.out.println("装进大象");
        System.out.println("关闭冰箱门");
        */

        //写了方法以后,调用就改变了
        open();
        in();
        close();
    }

    public static void open() {
        System.out.println("打开冰箱门");
    }

    public static void in() {
        System.out.println("装进大象");
    }

    public static void close() {
        System.out.println("关闭冰箱门");
    }
}

(2).面向对象

我们怎么才能更符合面向对象思想呢?把大象装进冰箱的分析

  • 都有哪些类呢?

大象

冰箱

Demo

  • 每个类都有哪些东西呢?

大象—> 进去()

冰箱—> 开门(),关门()

Demo—> main()

  • 类和类之间的关系是什么?

Demo中使用冰箱和大象的功能

代码体现

class 大象 {
    public static void in() {
        System.out.println("装进大象");
    }
}

class 冰箱 {
    public static void open() {
        System.out.println("打开冰箱门");
    }

    public static void close() {
        System.out.println("关闭冰箱门");
    }
}

class Demo {
    public static void main(String[] args) {
        冰箱调用开门
        大象调用进去
        冰箱调用关门
    }
}

4.类和对象

(1).现实中的事物

属性

事物的基本描述

行为

事物的功能

(2).Java语言中,最基本的单位是类.所以,我们要用类来体现事物.

我们学习编程语言,是为了模拟现实世界的事物的。
而我们学习的编程语言Java中最基本的单位是:类。
所以,我们就应该把事物通过类来体现出来:
由此,我们就得到了现实世界事物和类的对应关系(3)

(3).类

成员变量

事物属性

成员方法

事物行为

(4).类和对象的关系

类:是一组相关属性和行为的集合,是一个抽象的概念.

对象:是该类事物的具体实现,是一个具体的实例.

5.类的定义和使用

(1).类的定义

成员变量

定义格式和局部变量相同,就是位置不同,在类中方法外.

成员方法

定义格式和局部方法相同,就是去掉了static.

代码示例

//这是学生类
class Student {
    //定义变量
    //姓名
    String name;
    //年龄
    int age;
    //地址
    String address;

    //定义方法
    //学习的方法
    public void study() {
        System.out.println("学生爱学习");
    }

    //吃饭的方法
    public void eat() {
        System.out.println("学习饿了,要吃饭");
    }

    //睡觉的方法
    public void sleep() {
        System.out.println("学习累了,要睡觉");
    }
}

(2).使用类的内容

创建对象,格式

类名 对象名 = new 类名();

如何使用成员变量和成员方法

对象名.成员变量

对象名.方法名()

代码示例

//这是学生测试类
class StudentDemo {
    public static void main(String[] args) {
        //类名 对象名 = new 类名();
        Student s = new Student();

        //输出成员变量值
        //System.out.println(s.name);
        //System.out.println(s.age);
        //System.out.println(s.address);
        //改进写法
        System.out.println(s.name+"---"+s.age+"---"+s.address);


        //给成员变量赋值
        s.name = "林青霞";
        s.age = 27;
            s.address = "北京";
        //赋值后的输出
        System.out.println(s.name+"---"+s.age+"---"+s.address);

        //调用方法
        s.study();
        s.eat();
        s.sleep();
    }
}

6.创建对象内存图

(1).一个对象的内存图

面向对象思想概述_第1张图片

(2).二个对象的内存图

面向对象思想概述_第2张图片

(3).三个对象的内存图

面向对象思想概述_第3张图片

7.Java程序的开发,设计和特征

(1).开发

就是不断的创建对象,通过对象调用功能

(2).设计

就是管理和维护对象间的关系

(3).特征

封装

继承

多态

你可能感兴趣的:(Java基础)