面向对象的特征
面向对象编程就是按照现实业务一样的方式将程序代码按一个个对象进行组织和编写,让计算机系统能够识别和理解用对象的方式组织和编程代码,这样,就可以把现实生活中的业务映射到计算机系统中。
- 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
- 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。
- 而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。
1.封装
- 高内聚,低耦合,防止程序相互依赖带来的影响,保证软件具有良好的模块性
- 对象是封装的最基本单位
- 将一个类的成员变量全部定义成私有,只有自己才能访问,就基本实现了封装
例如:
- 人在黑板上画圆:三个对象:人,黑板,圆,画圆的方法必须分配给圆,人只是调用画圆的方法
- 司机将火车刹住:两个对象:司机,火车,刹车的方法必须分配给火车,司机只是调用火车的刹车的方法
2.继承
- 提高软件的可重用性和可扩展性
- 继承是子类共享父类数据和方法的机制
- 把一个已经存在的类的内容作为自己的内容,并可以加入新的内容
3.多态
- 增强软件的灵活性和扩展性
- 不用修改源码就可以改变程序运行是所绑定的具体代码,让程序可以选择多个运行状态
- 编译时多态:静态的,重载
- 运行时多态:动态的,继承和接口的实现,运行期间才能决定
4.抽象
- 将事物的相似之处或者共性归为一类,只考虑共性,忽略无关的方面,
- 不是用显微镜去看待一个事物,需要什么的时候就只考虑什么,
- 例如,蚂蚁和大象,只要能看到共同之处,就是抽象。
- 分为行为抽象和状态抽象
- 这个抽象模型称为类,对类进行实例化得到对象