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

时间:2018-06-19 17:11:48

标签: java dependencies uml class-diagram

这是正确的总和吗?

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

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

我找不到任何专门解决此区别的资源。

2 个答案:

答案 0 :(得分:1)

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

现在,依赖和关联之间的区别在于后者更为具体。当您将依赖关系从A建模为B时,这意味着:“当B中的某些内容发生更改时,请当心A”。当您进行的操作在参数中使用引用的类时,通常会使用依赖项。每当您建立关联模型时,它实际上意味着A知道B(并具有一些参考)。

答案 1 :(得分:1)

你是对的!

协会-如果A类持有对B类的类级别引用。(永久关系)

class Account{} 
class Customer{
  private Account account; //permanent
  Customer(Account account){
     this.account = account;
  }
}

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

 class Account{
    public void deposit{}
 } 
 class Customer{
    public void makeDeposit(Account acc){
        acc.deposit(); //temporary
    }
 }