java中聚合与组合的概念
一、聚合
聚合的概念:
聚合是关联的一种属性,代表了两个对象之间的归属关系。即为一个类中有一个类的实体引用(类中的类)。
使用聚合的目的:增加代码的重用性。
二、组合
组合的概念:
表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,如人和眼睛。
三、组合与聚合的区别和联系
组合与聚合都是整体与部分的关系,组合的关系更强一点,对组合关系来说,如果失去部分,整体也将不存在了。
代码实现上来看:
组合在整体的构造器中实例化部分,这个部分不能被其他实例共享。整体与部分的生命周期是同步的。而聚合关系的部分,可以在构造器中通过参数传递的形式进行初始化。
例如现实生活中人和手,脚是组合关系,人和他的电脑是聚合关系。