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 {}
廣告