一、对象的特性
对象的三个主要特性:
- 对象的行为(behavior)—可以对对象施加哪些操作,或可以对对象施加哪些方法?
- 对象的状态(state )—当施加那些方法时,对象如何响应?
- 对象标识(identity )—如何辨别具有相同行为与状态的不同对象
二、类之间的关系
在类之间, 最常见的关系有
- 依赖(“ uses-a”)
- 聚合(“ has-a”)
- 继承(“ is-a”)
依赖( dependence ), 即“ uses-a” 关系, 是一种最明显的、 最常见的关系。例如,Order类使用 Account 类是因为 Order 对象需要访问 Account 对象查看信用状态。但是 Item 类不依赖于 Account 类, 这是因为 Item 对象与客户账户无关。因此, 如果一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类。
聚合(aggregation ), 即“ has-a ” 关系, 是一种具体且易于理解的关系。例如, 一个Order 对象包含一些 Item 对象。聚合关系意味着类 A 的对象包含类 B 的对象。
继承( inheritance ), 即“ is-a” 关系, 是一种用于表示特殊与一般关系的。例如,RushOrdei类由 Order 类继承而来。在具有特殊性的 RushOrder 类中包含了一些用于优先处理的特殊方法, 以及一个计算运费的不同方法;而其他的方法, 如添加商品、 生成账单等都是从Order 类继承来的。一般而言, 如果类 A 扩展类 B, 类 A 不但包含从类 B 继承的方法,还会拥有一些额外的功能