面向对象,类和对象之间的关系day05

1、面向对象和面向过程的关系以及区别?
面向过程编程:开发程序的过程中,其中每一步功能的实现都是我们自己参与的,我们相当于参与者,代表语言:C语言
面向对象编程:不断地创建对象,指挥对象做事情,我们从参与者变成了指挥者,代表语言:Java

2、生活中的举例:
    1)下课了要喝水:
        面向过程:自己拿起水杯,走到饮水机面前,选择冷水还是热水,接水 (全程自己参与)
        面向对象:乞求陈真去接水,陈真拿起水杯,陈真走到饮水机面前,陈真接水 (只需要知道对象要做什么就行了)

    2)吃饭:
        面向过程:自己去买菜,洗菜,切菜,做菜,装盘 (全程自己参与)
        面向对象:去饭店点菜,洗菜,切菜,做菜,装盘  (全程只需要发号施令就可以了)

3、具体的案例,从代码程序角度出发
将大象装进冰箱。
    面向过程:
        class Demo1{
            public static void main(String[] args){
                //1. 打开冰箱门
                //...打开冰箱门是一个很复杂的动作,这个逻辑肯定不是几行代码就能搞定的,但是需要自己实现

                //2. 大象放进冰箱里
                //...这一步是一个很复杂的动作,需要自己实现

                //3. 关闭冰箱门
                //...关闭冰箱门是一个很复杂的动作,这个逻辑肯定不是几行代码就能搞定的,但是需要自己实现

            }
        }

    类:是java语言的基本单位,世间万物都可以使用类进行描述。
    class Xxx{
        ....
    }

    面向对象的思想:
        需要考虑的东西:(将大象装进冰箱。)
            1、都有哪些类?
                a. 可以使用UML的技术来判断
                b. 使用名词提取法
             大象类,冰箱类,测试类

            2、类中都有些什么东西?
             分析事物具体的属性和行为。
             大象类:
                属性:身高,体重,年龄,....
                行为:跳进冰箱,.....
             冰箱类:
                属性:颜色,价格,......
                行为:打开冰箱门,关闭冰箱门,.....
             测试类:
                main方法

            3、类和类之间都有什么样的关系?
              测试类中使用大象类和冰箱类进行使用。
        class Elephant{
            身高;
            体重;
            年龄;
            skip(){
                ....
            }
        }

        class IceBox{
            颜色;
            价格;
            open(){
                //..
            }

            close(){
                //..
            }
        }

        class Demo{
            public static void main(String[] args){
                //创建一个冰箱类对应的对象出来
                //冰箱对象使用打开冰箱门的方法

                //创建一个大象类对应的对象出来
                //大象使用跳进冰箱的方法

                //冰箱对象使用关闭冰箱门的方法
            }
        }

4、面向对象特征
    封装(encapsulation)
    继承(inheritance)
    多态(polymorphism)

5、面向对象思想特点
      是一种更符合我们思想习惯的思想
      可以将复杂的事情简单化
      将我们从执行者变成了指挥者,角色发生了转换

6、类和对象的关系:
    人                          类:class Person
    属性:姓名,年龄,性别          成员变量:name, age, gender
    行为:吃,睡                  成员方法:eat(), sleep()
我们学习编程语言,就是为了模拟现实世界的事物,实现信息化。比如:去超市买东西的计费系统,去银行办业务的系统。
我们如何表示一个现实世界事物呢:
属性	就是该事物的描述信息
行为	就是该事物能够做什么
举例:学生事物
我们学习的Java语言最基本单位是类,所以,我们就应该把事物用一个类来体现。
类:是一组相关的属性和行为的集合
对象:是该类事物的具体体现
对象是类的具体体现
举例:
类	学生
对象	班长就是一个对象
类与对象的关系如图

posted @ 2024-07-31 09:52  ていせい  阅读(1)  评论(0编辑  收藏  举报