依赖和组合之间的区别是什么?

16 浏览
0 Comments

依赖和组合之间的区别是什么?

从这里获取的定义

依赖

当一个类的结构或行为的变化影响其他相关类时,这两个类之间存在依赖关系。不一定是相反的。当一个类包含另一个类时,就会发生这种情况。

组合

组合是聚合的一种特殊情况。更具体地说,受限制的聚合被称为组合。当一个对象包含另一个对象时,如果被包含的对象不能在容器对象不存在的情况下存在,则称为组合。

从这里获取的Java具体示例和这里的依赖注入的解释。

依赖

class Employee {
    private Address address;
    
    public Employee( Address newAddress ) {
        this.address = newAddress;
    }
    
    public Address getAddress() {
        return this.address;
    }
    
    public void setAddress( Address newAddress ) {
        this.address = newAddress;
    }
}

组合

final class Car {
  private final Engine engine;
  
  Car(EngineSpecs specs) {
    engine = new Engine(specs);
  }
  
  void move() {
    engine.work();
  }
}

0