这是正确的总和吗?
如果一个类实例化另一个类并将其存储为局部变量,则这是一个依赖项。
如果一个类实例化另一个类并将其存储为类属性/字段,则它是一个关联。
我找不到任何专门解决此区别的资源。
答案 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
}
}