Java 处理类对象时的依赖关系与关联

Java 处理类对象时的依赖关系与关联,java,dependencies,uml,class-diagram,Java,Dependencies,Uml,Class Diagram,这是正确的总和吗 如果一个类实例化另一个类并将其存储为局部变量,则这是一个依赖项 如果一个类实例化另一个类并将其存储为类属性/字段,那么它就是一个关联 我找不到任何专门针对这一区别的资源。这不是一个正确的定义。第一:“局部变量”和“类属性”是同一件事。引用另一个类的任何类属性(用我所知道的任何语言)都将被存储为指向该实例的指针——只是从物理角度来看 现在,依赖和关联之间的区别在于后者更具体。当你将一个依赖项从a建模到B时,它的意思是:“当B中的某些东西发生变化时,在a中要小心”。当操作在参数中使

这是正确的总和吗

如果一个类实例化另一个类并将其存储为局部变量,则这是一个依赖项

如果一个类实例化另一个类并将其存储为类属性/字段,那么它就是一个关联


我找不到任何专门针对这一区别的资源。

这不是一个正确的定义。第一:“局部变量”和“类属性”是同一件事。引用另一个类的任何类属性(用我所知道的任何语言)都将被存储为指向该实例的指针——只是从物理角度来看

现在,依赖和关联之间的区别在于后者更具体。当你将一个依赖项从a建模到B时,它的意思是:“当B中的某些东西发生变化时,在a中要小心”。当操作在参数中使用引用的类时,通常使用依赖项。每当你为一个关联建模时,它实际上意味着A知道B(并且有一些参考资料)。

你是对的

关联-如果A类持有对B类的类级引用(永久关系)

依赖性-类A依赖于类B。依赖性表示您可以调用接收到的类(B)引用的某个API,对该类的任何修改也可能破坏您的类。(临时关系)


我认为OOD中的一些区别并没有在实际编程中表现出来。实现关联可以是实例字段、类字段或局部变量(我假设是局部创建,在某些情况下是依赖项注入)。实现依赖关系可以是相同的。这完全取决于代码需要什么。这里的另一个答案是:请注意,第一个被接受的答案以“一般…”开头。这些不是硬性的规则,代码中的实现也不尽相同。@markspace谢谢你。“没有硬性规定”和代码实现也各不相同,这也是我从亲身讨论中得到的。
class Account{} 
class Customer{
  private Account account; //permanent
  Customer(Account account){
     this.account = account;
  }
}
 class Account{
    public void deposit{}
 } 
 class Customer{
    public void makeDeposit(Account acc){
        acc.deposit(); //temporary
    }
 }