对象间有哪几种关系呢?
下文笔者讲述对象间的四种关系,如下所示
1.依赖
依赖关系表示一个类依赖于另一个类的定义 例: 一个人(User)可以买车(car)和房子(House) User类依赖于Car类和House类的定义 因为User类引用了Car和House 与关联不同的是,User类里并没有Car和House类型的属性 Car和House的实例是以参量的方式传入到show()方法 我们将这种在形参中使用的类型,称之为“依赖”
2.关联
关联(Association): 关系是类与类之间的联接 它使一个类知道另一个类的属性和方法 关联可以是双向的,也可以是单向的 在Java语言中 关联关系一般采用成员变量来实现
3.聚合
聚合(Aggregation)关系: 是关联关系的一种,是强的关联关系 聚合是整体和个体之间的关系 例: 汽车类与引擎类、轮胎类,以及其它的零件类之间的关系便整体和个体的关系 与关联关系一样,聚合关系也是通过实例变量实现的 但是关联关系所涉及的两个类是处在同一层次上的 而在聚合关系中 两个类是处在不平等层次上的,一个代表整体,另一个代表部分。
4.组合
组合(Composition)关系: 是关联关系的一种,是比聚合关系强的关系 它要求普通的聚合关系中代表整体的对象负责代表部分对象的生命周期,组合关系是不能共享的 代表整体的对象需要负责保持部分对象和存活 在一些情况下将负责代表部分的对象湮灭掉 代表整体的对象可以将代表部分的对象传递给另一个对象 由后者负责此对象的生命周期 换言之 代表部分的对象在每一个时刻只能与一个对象发生组合关系 由后者排他地负责生命周期。部分和整体的生命周期一样
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。