这里的定义
相依性
一个类的结构或行为的变化会影响另一个相关的类,因此这两个类之间存在依赖关系。反之亦然。当一个类 包含另一个 类时,就会发生这种情况。
组成
组合是聚合的特例。以更具体的方式,受限制的聚合称为合成。当一个对象 包含另一个 对象时,如果所包含的对象在没有容器对象的情况下无法存在,则称为合成。
class Employee { private Address address; // constructor 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(); } }
可以在两个构造函数中看到差异:
依赖性 :Address对象来自 外部 ,它分配在其他地方。这意味着Address和Employee对象是分开存在的,并且仅 相互依赖 。
Address
Employee
组成* :在这里,您会看到 内部Engine创建了一个新对象。该对象是的一部分。这意味着,被 构成 的。 Car``Engine``Car``Car ***Engine
Engine
Car``Engine``Car``Car