3、类与对象
3.1、类
类是构造对象的模板或蓝图。由类构造对象的过程称为创建类的实例。
封装是处理对象的一个重要概念。封装就是将数据和行为组合在一起,并对对象的使用者隐藏具体的实现方式。对象中的数据称为实例字段。操作过程称为方法。 作为一个类的实例,特定对象都有一组特定的实例字段值。这些值的集合就是这个对象的当前状态。
3.2、对象
对象的三个主要特征:
- 对象的行为(behavior): 可以对对象完成哪些操作,或者可以对对象应用哪些方法。
- 对象的状态(state): 当调用那些方法时,对象会如何响应。
- 对象的标识(identity): 如何区分具有相同行为与状态的不同对象。
同一个类的所有对象实例,由于支持相同的行为而具有家族式的相似性。对象的行为是用可调用的方法来定义的。
每个对象都保存着描述当前状况的信息,这就是对象的状态。但是对象的状态不能完全描述一个对象,每个对象都有一个唯一标识。
3.3、类与类之间的关系
依赖(dependence) 即“uses-a”关系,是一种最明显,最常见的关系。如果一个类的方法使用或操纵另一个类的对象,我们就说一个类依赖于另一个类。
聚合 即“has-a”的关系,即一个类包含另一个类的对象。
继承 即“is-a”的关系,表示一个更特殊的类(子类)与一个更一般的类(父类)之间的关系。
3.4、类的访问权限
访问权限 | 本类 | 本包的类 | 子类 | 非子类的外包类 |
---|---|---|---|---|
public | 是 | 是 | 是 | 是 |
protected | 是 | 是 | 是 | 否 |
default | 是 | 是 | 否 | 否 |
private | 是 | 否 | 否 | 否 |