java - 在另一个类中使用一个类的实例是否算作依赖或关联?

标签 java class dependencies uml associations

我很难弄清楚在另一个类中实例化一个类,然后使用它的某些方法是否算作 UML 类图中的依赖关系或关联。例如:

public class Example {
    Thing thing = new Thing();

    public void method() {
            thing.doSomething();
    }
}

这种关联是因为示例“有一个”东西吗?或者这种依赖性是因为示例有一个“使用”Thing 才能正常工作的方法?

最佳答案

在 UML 中,您可以使用 ExampleThing 之间的关联来表示这一点:

  • 纯粹主义者会建议 dot notation并在 Thing 末端放一个小点:这表明 Example 拥有关联的末端。并非所有建模工具都支持此表示法。
  • 由于 Example 的实例始终知道 Thing 的实例,但可能不是相反,因此您希望显示此关联可导航(末尾的空心箭头) )。

关联意味着依赖。因此,您不应向图中添加冗余依赖项。没有关联的依赖关系如下所示:

public class Example {
    Thing thing = new Thing();             // Example is associated to Thing

    public void method(AnotherThing x) {   // Example depends on AnotherThing
            ...;
    }
}

关于java - 在另一个类中使用一个类的实例是否算作依赖或关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70357205/

相关文章:

java - 如何为文件下载 servlet 设置 UTF-8 编码

与类相关的 C++ 头文件

java - 如何为 maxmind geoip2 eclipse 添加依赖项

java - Maven 中未使用/未声明的依赖项是什么?该怎么办?

java - 使用 JPA 2 和 Hibernate 的 Google Cloud Dataflow 应用程序无法与 BlockingDataflowPipelineRunner 一起运行。找不到 persistence.xml

java - Android - TextView 与 Listview 一起滚动/在 Listview 之前滚动

python - 在Python中,如何继承并重写类实例上的方法,并将新版本分配给与旧版本相同的名称?

java - 类 Class<T> 的泛型性质是什么意思?什么是T?

go - 是否有任何缓存代理可用于 Golang 依赖项,因为它是现有的,例如对于 NPM(NodeJS)?

java - 如何在共享首选项中保存缩放后的位图?