什么是面向对象
把数据和对数据的操作封装在一起,组成一个单元,语法上叫做类。
面向对象的特性
- 继承
- 动态绑定-------不是很明白
面向对象的细化
对象具化到程序的世界,表示的应该是是: class,类
对象的几个概念:
- 抽象
- 类型
- 对象
- 封装
- 继承
抽象的细化
什么是抽象?
可以理解为为了描述一个类,而进行的活动。例如, 我是人类。 那什么是人类?将人类抽象成为: 有四肢大脑,直立行走,哺乳动物,群居,杂食,偶尔同类相残。
为什么要进行抽象活动呢?
- 进行二级或者更高层次的划分时, 可以省掉很多同质化的东西, 书本语言叫:复用和共享。例如你描述,亚洲人和欧洲人的区别,就不用说: 他们都有四肢大脑…
- 隐藏不相关的细节, 把注意力集中在本质事务上,而只需要对外世界提供一个黑盒子接口。例如。我买了辆车子,我要去开车。 那么我就不会去关心,这个发动机是怎么转的,转动的原理是什么,发动机的热效率是多少,燃料泵是怎么接到燃烧室的。等等…我只需要关系驾驶的部分,怎么发动引擎,怎么踩刹车。
- 还可以把一个复杂的系统,进行细化。可以做到分工明确,避免组件之间不符合规则的相互作用。 翻译成人话就是: 抽象能够让一个大的系统进行分化成很多小的子系统。 再用车子来举例子: 我是造发动机的,那么我就不用去关心这个汽车座椅怎么去安装的, 发动机是一个模块,汽车座椅之类的属于内饰模块。那么发动机模块出现问题的时候, 肯定不需要去座椅上找问题。因为大家属于不同的模块,跟我没关系。