聚合和组合是关联中的两种形式,我们都知道组合是弱关系,聚合是强关系,也可以这么说组合是一种特殊的关联,而聚合是特殊的组合!那么你清楚他们是如何通过代码实现的吗?下面通过构造函数的方式来说一说组合和聚合的表现形式!
【定义比较】
聚合:表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超越整体。如电脑和鼠标。
组合:表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,或者说不能脱离整体而存在。组合关系的“部分”,是不能在整体之间进行共享的。
【代码实现比较】
关联是一种最普通和常见的关系形式,一个对象可以发消息给另外一个对象。当通过方法的参数来传递或者创建本地变量来访问对象可以称为关联,组合和聚合就是关联的两种形式。
聚合
是一种has-a的关系 整体和部分。整体不存在的时候,但部分可以独立存在。
以person 和address为例,人和衣服的关系
public class Address{} //衣服类
public class Person //人类
{
private Address address;
public Pers