使用OOP,一定要清楚对象的三个主要特性:
对象的行为(behavior)—–可以对对象施加那些操作,或者可以对对象施加哪些方法
对象的状态(state)—–当施加那些方法时,对象如何相应
对象标识(identity)——如何辨别具有相同行为与状态的不同对象
同一个类的所有对象实例,由于支持相同的行为而具有家族式的相似性,对象的行为是用可调用的方法定义的。
此外,每个对象都保存着描述当前特征的信息,这就是对象的常态,对象的状态可能会随着时间而发生改变,但这种改变不会是自发的,对象状态的改变必须通过调用方法实现
但是,对象的状态并不能完全描述一个对象,每个对象都有一个唯一的身份(identity)
设计类就是首先从设计类开始,然后再往每个类中添加方法
识别类:简单规则实在分析问题的过程中寻找名词,而方法对应着动词
类与类之间的关系
在类之间,最常见的关系有
依赖(“uses-a”)
聚合(“has-a”)
继承(“is-a”)
依赖(dependence),即”uses-a”关系,如果一个类的方法操纵另一个类的对象,就是一个类依赖于另一个类。
应该尽可能的将相互依赖的类减至最少,用软件工程的术语来说,就是让类之间的耦合度最小
耦合(aggregation)即”has-a”关系,这是一张具体且容易理解的关系。聚合关系意味着类A的对象包含类B的对象