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統一建模語言線用於表示關聯。菱形用於表示組裝類旁邊的聚合關係。

更新於: 2019-11-28

8K+ 人次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告