Java 中的关联、组合和聚合
关联
关联是指多个对象之间的关系。它指的是对象如何相互关联以及如何使用彼此的功能。组合和聚合是关联的两种类型。
组合
组合是强关联类型。如果一个对象拥有另一个对象并且另一个对象不能没有拥有者对象,则称该关联为组合。考虑人类拥有心脏的情况。此处人类对象包含心脏,而心脏不能没有人类而存在。
聚合
聚合是弱关联。如果两个对象都可以独立存在,则称该关联为聚合。例如,团队对象和球员对象。团队包含多个球员,但球员可以没有团队而存在。
组合示例
//Car must have Engine public class Car { //engine is a mandatory part of the car private final Engine engine; public Car () { engine = new Engine(); } } //Engine Object class Engine {}
聚合示例
//Team public class Team { //players can be 0 or more private List players; public Car () { players = new ArrayList(); } } //Player Object class Player {}
广告