1 学习面向对象的三条主线
1.1 Java类及其类的成员
Java中类的成员有五个,分别是:属性、方法、构造器;代码块、内部类
其中最重要的是前三个
1.2 面向对象的三大特征
封装性、继承性、多态性
1.3 一些关键字
this、super、abstract、extends等等
2 如何理解面向对象
面向对象和面向过程一样,都是编程思想
我们可以将面向对象和面向过程两种编程思想放在一起进行解释,这样有助于对面向对象思想的理解
首先我先举一个经典例子来说明两种思想处理问题的方式不同,就是把大象装进冰箱的问题,下面是两种思想的处理方法
面向过程
① 打开冰箱门
② 把大象装进冰箱
③ 关闭冰箱门
面向对象
把这问题抽象出来三个类:人类、冰箱类、大象类
人有打开冰箱门、装大象、关冰箱门的功能
冰箱有开启和关闭的功能
大象有进入冰箱的功能
三个类之间互相调用彼此的功能共同处理问题
从这个例子我们可以打出两者的不同
面向过程:强调的是功能行为,以函数为最小单位,强调怎么做;就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象:强调具备了功能的对象,以类\对象为最小单位,考虑谁来做;是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
3 面向对象分析问题的思路和步骤
在理解了面向对象的思想之后,我们应该如何处理现实世界中的问题,在这里,我给出了四个步骤:
1.根据问题需要,选择问题所针对的现实世界中的实体
2.从实体中寻找解决问题所需要的属性和功能,这些属性和功能就形成了概念世界中的类
3.把抽象的实体用计算机语言描述,形成计算机中类的定义
4.将类实例化成计算机中的对象,对象是计算机世界解决问题的最终工具
4 两者之间的关系
面向过程适合处理简单的事情,直接关注流程,简单有效。
面向对象适合处理复杂的事情,先使用面向对象的方式对整体关系作出分类,然后,根据不同的类深入细节的处理。
面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。面向对象如果离开了面向过程,就无法实现真正的落地,成为无源之水。