组合和聚合在类中的实现
在面向对象编程中,组合和聚合是两种重要的关系模式,用于表示不同对象之间的关系。
组合
在组合中,一个对象(整体)包含另一个对象(部分),并且这个部分对象的生命周期与整体对象的生命周期相关联。也就是说,当整体对象被销毁时,部分对象也会被销毁。在类中实现组合关系可以通过创建部分对象作为整体对象的一个私有属性来实现。
示例:
public class car { private engine engine; // 部分对象 public car() { engine = new engine(); // 在创建整体对象时创建部分对象 } }
聚合
与组合不同,聚合中一个对象(整体)包含另一个对象(部分),但这个部分对象可以独立于整体对象存在。在类中实现聚合关系可以通过创建部分对象作为整体对象的一个私有属性,并允许部分对象创建自己的实例。
示例:
public class Department { private List<Employee> employees; // 部分对象 public Department() { employees = new ArrayList<>(); // 初始化时可以为空 } public void addEmployee(Employee employee) { employees.add(employee); } } public class Employee { // 部分对象可以独立创建 private String name; public Employee(String name) { this.name = name; } }