面向对象是一种依赖几个基本原则的思维方法。目标是开发出能够反映现实世界某个特定片段的软件(或者说是“建模”)。对象是类的实例,类是具有相同属性和操作的一类对象集。你考虑到的属性和行为越多,所建立的模型就越符合实际。
不过,面向对象并不只局限于对象的属性和行为建模,还包括抽象、继承、多态和封装,其他3种重要的面向对象概念是消息传递、关联和聚集。
1. 抽象
过滤掉对象的一部分特性和操作直到只剩下所需要的属性和操作。
搞清楚什么应该纳入模型中,什么应该舍去
2. 继承
对象继承了所属类的属性和操作,类同样也可以继承其他类的属性和操作。
3. 多态性
不同的类中可以有同名的操作,每个类中发生的操作各不相同。
4. 封装
当一个对象执行自己的操作时,它对外界隐藏了操作的细节。如果一个对象出现故障,对其他对象隐藏这个对象的操作意味着只需修改这个对象而不需要改变其他对象。每个对象都要提供给一个让其他对象用来执行该对对象中操作的借口。
5. 消息传递
在系统中对象通过相互发送消息完成协作。
6. 关联
对象之间以某种方式发生联系。对象间可以以多种方式发生关联,一个类可以和多个其他的类关联(多重性)。
7. 聚集
是对象之间的另一种关联。其中,组成又是特殊的聚集。