Java中的组合聚合
一定义
组合:是一种受限制的聚合模式,是一种部分和整体的关系,其中两个整体(类)高度依赖于彼此,两者不可分离。
聚合:是一种特殊的关联,has-a的关系,是一种整体(类)之间的单项关系例如水壶中有水,水中没有水壶。
二具体的区别
组合方式一般会这样写:
A类的构造方法里创建B类的对象,也就是说,当A类的一个对象产生时,B类的对象随之产生,当A类的这个对象消亡时,它所包含的B类的对象也随之消亡。
聚合方式则是这样:
A类的对象在创建时不会立即创建B类的对象,而是等待一个外界的对象传给它
传给它的这个对象不是A类创建的。
即组合是部分和整体关系,聚合是has-a的关系