C# 中組合和聚合有什麼區別?


在組合中,如果父物件被刪除,則子物件也隨之丟失狀態。組合是一種特殊型別的聚合,表示從屬關係。

例如,汽車有發動機。如果汽車損毀,發動機也會損毀。

public class Engine {
   . . .
}

public class Car {
   Engine eng = new Engine();
   .......
}

聚合是 C# 中物件間的一種單向關係。它是物件之間的關係。

例如,員工和地址

員工與單個部門關聯,而一個部門可以擁有多個員工。讓我們看一個員工和地址的例子 -

public class Address {
   . . .
}

public class Employee {
   
   private Address addr;

   public Employee (Address addr) {

      this.addr = addr;

   }

   . . .

}

更新於:2020 年 6 月 20 日

469 views

開啟你的 事業

透過完成課程獲得認證

開始
廣告