我有关于依赖和关联的问题。我对术语依赖性的理解是它就像一种松散的关系,我认为这两个类是无关的,但我需要使用另一个类来完成一个任务。关联更像是两个类之间的逻辑连接。我可以检查一下我的理解是否正确吗?依赖关系是一种只影响我的代码的一部分的关系,而关联是在另一个类中创建一个实例?谢谢!
答案 0 :(得分:2)
我对术语依赖的理解是它就像一种松散的关系,我认为这两个类是无关的,但我需要使用另一个类来完成一个任务。虽然关联更像是两个类之间的逻辑连接
是。并且有一个重要特征:关联也总是依赖
关联的一个例子(课堂上的字段):
class A { ... }
class B {
private A a;
public B(A a) { ... }
...
}
这是依赖的示例(在某些方法中使用):
class A { public void doA() { ... } }
class B {
public void doA(A a) { a.doA(); ... }
...
}
PS :这只是一个例子。在某些方法中用作返回类型也意味着依赖(真实世界模式示例 - AbstractFactory
)