引入面向对象的思想:
当我们有多个数组需要遍历时,我们可以将遍历的代码封装到方法中,需要遍历时,只需要调用相应的方法即可,提高代码的复用性。
但当我们对数组做更多的操作时,比如对数组获取最值,数值逆序,就需要将更多的功能封装到相应的方法中,封装的方法越来越多,我们就可以将这些方法继续封装,将来再做数组的操作时,就不用找具体的方法,先找到这个类,再使用这个类中的方法,这就是面向对象思想的编程。
面向对象的思想:
面向对象的思想是基于面向过程的编程思想
面向过程:强调的是每个功能的步骤(比如C语言)
面向对象:强调的是对象,然后让这个对象去调用功能
面向对象的特点:
1)是一种更符合我们思想习惯的概念
2)可以将复杂的事情简单化
3)将我们从执行者变成了指挥者
举例:
吃饭:
面向过程:先去超市买菜–洗菜–切菜–炒菜–装盘–吃
面向对象:去饭店吃–你(点菜)–厨师(做菜)–服务员(上菜)–你(吃)
打水:
面向过程:拿起水杯–走到饮水机面前–选择热水还是冷水–接水–喝
面向对象:你祈求同桌去接水–同桌接水–你喝水
将大象装进冰箱
面向过程的思路:
1、打开冰箱门
2、把大象装进冰箱
3、关闭冰箱门
代码体现:
面向对象的思想体现:
我们怎么才能更符合面向对象的思想呢?
1、我们要考虑有哪些类?
2、这些每个类里面都有些什么呢?
3、类与类之间的关系是什么样子的呢?
把大象装进冰箱的分析:(如何分析有哪些类呢?UML 名词提取法)
1、有哪些类呢?
大象
冰箱
测试类
2、这些每个类里面都有些什么呢?
大象:
进冰箱
冰箱:
打开冰箱门
关闭冰箱门
测试类:
main方法
代码体现:
面向对象的开发、设计、特征
面向对象的开发
就是不断的创建对象,使用对象,指挥对象做事情。
面向对象的设计
实就是在管理和维护对象之间的关系
面向对象的特征
封装性、继承性、多态性
5.类与对象的概述:
现实世界中是如何让描述一个事物呢?
举例:人
五官、姓名、年龄、性别 and so on
吃饭、喝水、学习、玩 and so on
事物: 类:
属性:事物的描述信息 成员变量
行为:就是事物能够做什么 成员方法
类:是一组相关的属性和行为的集合。是一个抽象的概念。
对象:是该类事物的具体表现体现。具体到存在的个体。
举例:
事物:人 类:Person
属性:姓名、年龄、性别 成员变量:name、age、gender
行为:吃饭、喝水、学习 成员方法:eat、drink、study
对象:是该类事物的具体体现 举例:学生、老师、医生、程序员…
以下是一个对象的内存图解
以下是两个对象的内存图解
以下是三个对象的内存图解
总的来说就是
对象:对象是类的一个实例 ,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。