C# 中的组合和聚合有什么区别?

csharpprogrammingserver side programming更新于 2025/10/15 5:52:17

在组合中,如果父对象被删除,子对象也会失去其状态。组合是聚合的一种特殊类型,它提供了一种部分关系。

例如,一辆汽车有一个引擎。如果汽车被摧毁,引擎也会被摧毁。

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;

   }

   . . .

}

相关文章