当前位置: 首页 > 面试题库 >

依赖和组成之间的区别?

顾恺
2023-03-14
问题内容

这里的定义

相依性

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

组成

组合是聚合的特例。以更具体的方式,受限制的聚合称为合成。当一个对象 包含另一个
对象时,如果所包含的对象在没有容器对象的情况下无法存在,则称为合成。

相依性

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对象来自 外部 ,它分配在其他地方。这意味着AddressEmployee对象是分开存在的,并且仅 相互依赖

  • 组成* :在这里,您会看到 内部Engine创建了一个新对象。该对象是的一部分。这意味着,被 构成 的。 Car``Engine``Car``Car ***Engine



 类似资料:
  • 定义取自此处 依赖性 一个类的结构或行为的更改会影响另一个相关的类,那么这两个类之间存在依赖关系。反之亦然。当一个类包含另一个类时,就会发生这种情况。 作文 组合是聚合的一种特例。以更具体的方式,受限聚合称为组合。当一个对象包含另一个对象时,如果包含的对象不能在没有容器对象存在的情况下存在,则称为组合。 这里和这里的Java具体例子 依赖性 作文

  • 本文向大家介绍Spring的IOC和依赖注入之间的区别。,包括了Spring的IOC和依赖注入之间的区别。的使用技巧和注意事项,需要的朋友参考一下 控制反转是一种设计原则,有助于反转对象创建的控制。 根据马丁·福勒(Martin Fowler)的论文,控制反转是程序控制流反转的原理:外部源(框架,服务,其他组件)代替程序控制程序流,而由程序控制流它。就像我们将某些东西插入其他东西一样。他提到了有关

  • 我有个问题。 在pom.xml中,依赖项包含在两个地方。一个位置可以在标记中,另一个位置可以在标记中。 提前致谢:)

  • 我正在处理另一个关于我的构建的问题。gradle需要理解我的Android项目中的工作区项目依赖关系。我已经使用Java和Android有一段时间了,但我仍然很容易对添加依赖项的所有不同方法感到困惑。一种方法是放一个标签。libs/文件夹中的jar文件。另一种方法是具有工作区项目依赖关系。另一种方法(如果使用Android)是在Android选项菜单中添加项目依赖项?我觉得如果我真的理解了为什么会

  • 本文向大家介绍依赖注入和工厂模式之间的区别。,包括了依赖注入和工厂模式之间的区别。的使用技巧和注意事项,需要的朋友参考一下 工厂注入和依赖注入都是设计模式,可用于增强软件组件之间的松散耦合能力。  工厂设计模式用于创建对象。但是,对象的注入和生命周期管理应由应用程序内的程序员处理。无法在单个位置配置所有内容。因此,程序员需要在任何需要的地方调用对象创建逻辑,这最终会阻碍松散的耦合能力。 在DI设计

  • 问题内容: 创建新对象和依赖项注入有什么区别?请详细说明。 问题答案: 好吧,创建一个新对象就可以做到的很明确-您可以创建所需类的新实例。 依赖注入是一种在需要时为您提供引用的机制。想象一下一个代表数据库连接池的类- 您通常只有一个该类的实例。现在,您需要将该引用分发给使用它的所有类。依赖注入在这里很方便- 通过使用像Spring这样的DI框架,您可以定义将一个池实例注入到需要它的类中。 您的问题