Java中关联和聚合之间的区别
关联
从对象的角度看,关联是指两个相关对象之间的“拥有”关系。例如,一个员工拥有一个通信地址。
class Employee { String name; Address communicationAddress; } class Address { String address; }
聚合
从对象的角度看,聚合是指两个相关对象之间的“拥有+”关系。例如,一个部门拥有多个员工。它指的是父类中存在子对象集合。例如
class Department { String name; List<Employee> employees; } class Employee { String name; }
序号 | 要点 | 关联 | 聚合 |
---|---|---|---|
1 | 定义 | 关联是指两个使用对方的类之间的“拥有”关系。 | 聚合是指两个类之间的“拥有+”关系,其中一个类包含其他类的对象集合。 |
2 | 灵活性 | 本质上是僵化的。 | 本质上是灵活的。 |
3 | 链接 | 需要链接来维持关联。 | 对象之间并不一定有链接。 |
4 | 统一建模语言 | 线用于表示关联。 | 菱形用于表示组装类旁边的聚合关系。 |
广告