第5章-第1节-初识Java中的面向对象

1、面向对象和面向过程:

面向对象:(编程思想)

较晚出现

面向:看、关注、瞅

对象:个体、个例、实体、实例、结果

侧重点:关注结果

理解:将我们从劳动者变成了指挥者 ==> 解放程序员


面向过程:(编程思想)

较早出现

面向:看、关注、瞅

过程:前因后果、从头到尾

侧重点:关注从头到尾

理解:就是一个实实在在的劳动者


使用上述两种思想去解决生活中的一些现象

现象一:吃饭

使用面向过程的思想去解决吃饭的问题

具体步骤:
    1)、思考今天吃什么
    2)、去菜场买菜
    3)、挑菜(货比三家、针对性砍价)
    4)、付钱提菜走人
    5)、摘菜
    6)、洗菜
    7)、切菜
    8)、炒菜
    9)、焖饭
    10)、吃饭
    11)、洗刷

使用面向对象的思想去解决吃饭的问题

具体步骤:
    1)、思考今天吃什么
    2)、去饭店
       ①、使唤服务员,调用其点菜功能
       ②、服务员将所点菜品告知后方的大厨,大厨做菜ing...
       ③、大厨使唤服务员,调用其上菜功能
    3)、开始吃饭
    4)、结账(多种支付方式)


2、使用面向对象的思想进行场景演练

名词动词提炼法

场景一:大象装进冰箱

名词:大象、冰箱

动词:装

伪代码

具体步骤:

步骤一:设计类,花费大量时间

class 大象 {

}

class 猴子 {

}

class 冰箱 {
    开开( ) {
    
    }

    装(大象 dx) {
    
    }
    
    装(猴子 hz) {
    
    }

    关关( ) {
    
    }
}

步骤二:实例化/创建类的对象,代码很短,内存很复杂

大象 dx = new 大象( );
冰箱 bx = new 冰箱( );

步骤三:对象调用方法完成需求

bx.开开( );
bx.装(dx);
bx.关关( );


场景二:猫抓老鼠

名词:猫、老鼠

动词:抓

伪代码

具体步骤:

步骤一:设计类

class 猫 {
    看(老鼠 ls) {
        ls.看(this);
    }

    抓(老鼠 ls) {
        ls.逃();
    }

    吃(老鼠 ls) {
        ls.叫()
    }
}

class 老鼠 {
    看(猫 m) {
    
    }

    逃( ) {
    
    }

    叫( ) {
    
    }
}

步骤二:创建类的对象

猫 tom = new 猫( );
老鼠 jerry = new 老鼠( );

步骤三:对象调用方法完成需求

tom.看(jerry);
tom.抓(jerry);
tom.吃(jerry);


场景三:红色的车正在飞速的行驶,然后停了

名词:车

动词:行驶、停止

伪代码:

具体步骤:

步骤一:设计类

class 车 {
    //属性(成员变量)
    //描述事物的特征、特点
    字符串 颜色;
    字符串 品牌;
    字符串 车牌;
    浮点型 价格;

    //方法(成员方法)
    //描述事物的功能、行为
    行驶( ) {}
    停止( ) {}
}

步骤二:创建/实例化类的对象
//...

步骤三:对象访问类的成员(属性、方法)完成需求
//...


3、属性

又被称为:成员变量,属于类的成员之一

作用:用于描述某类事物的特征、特点    ==>    偏静的部分

注意:
    1)、方法也是属于类的成员之一 ==> 定义在类的成员位置
    2)、方法用于描述某类事物的功能、行为 ==> 偏动的部分


【问题1】:什么是成员变量?
答:定义在成员位置的变量就是成员变量

【问题2】:什么是成员位置?
答:直接定义在class的内部就是成员位置

【位置关系图】:
    class Xxx {
        //成员位置
        public ...( ) {
            
        }
        //成员位置
    }

定义格式:

两种情况:

情况一:声明同时初始化【使用较少】

模板:
    数据类型 属性名 = 属性值;

举例:
    double pi = 3.14;

情况二:先声明后初始化【使用较多】

模板:
    //环节一:在设计类的过程中仅仅声明定义属性,并不显示赋值
    数据类型 属性名;

    //环节二:在实例化对象完毕后,通过对象名.属性名的方式为对象属性进行显示赋值操作
    对象名.属性名 = 属性值;

举例:
    //人类
    class Person {
        //属性
        String name;
        int age;
    }

    //外部环境
    //创建Person对象
    Person p = new Person();
    //对象名.属性名 ==> 属性赋值
    p.name = "张三";
    p.age = 30;


4、第一个面向对象程序收获总结

1)、某个类设计的目的就是为了给别的类使用,自己不存在单独执行的情况,则其内部可以不定义main方法;
   一旦某个类需要被执行,则其内部必须定义main方法
2)、如果有需要,类的内部可以创建多个对象,每个对象都有一份自己的属性,彼此独立、互不干扰;

本电子书目录:《Java基础的重点知识点全集》

你可能感兴趣的:(java)