耦合和依赖关系澄清

时间:2014-02-11 00:30:57

标签: java dependencies coupling

我目前正在学习Java中的耦合和依赖。我一直在阅读this tutorial,并了解如果class1包含class2的实例,并且如果调用类似exampleMethod(c2)的方法,则这将被视为class1和class2之间的依赖关系。但是,我不确定下面的例子。任何人都可以给我一些澄清吗?

假设我们在class1中(包含class2 c2):

  1. 如果class1调用class2中定义的方法(例如c2.aMethod()),那么这是否算作class1和class2之间的依赖/耦合?

  2. 调用c2.someSetterMethod(argument)是否算作class1和class2之间的依赖/耦合?

  3. 在class1中调用c2.repaint()是否算作依赖项?

2 个答案:

答案 0 :(得分:1)

class1包含对class2实例的引用,这足以说明class1 取决于在class2上。在所有3个示例中,您需要引用class2才能调用其方法。这只会增加class1中依赖的需要,而不是依赖本身。

请阅读我对上一个问题的回答中提到的http://depfind.sourceforge.net/Manual.html#Dependencieshttps://stackoverflow.com/a/21689495/1659599

答案 1 :(得分:0)

  1. 减少耦合的一种方法是使用接口。这样,类1只知道接口,并没有专门与类2耦合。实际上,任何实现接口的类都可以用来代替类2,类1仍然会被满足。