我一直在看这篇文章: Difference between loose and tight coupling in Java?
看完之后我还是一头雾水,完全不明白。我是 Java 初学者。
耦合在 Java 中的重要性是什么?为什么?在设计代码时在哪里、如何以及何时需要它?
最佳答案
紧耦合
在复杂的情况下,一个类的逻辑会调用另一个类的逻辑来提供相同的服务
如果发生这种情况,则两个类之间会出现所谓的紧耦合。
在这种情况下,想要从第二个类调用逻辑的第一个类必须从第二个类创建一个对象
示例:我们有两个类,第一个是traveller
,第二个是car
。 Traveller
类是car
类的调用逻辑;在这种情况下,旅行者类创建了汽车类的对象。
这意味着 car
类将依赖于 traveller
对象。
Public class Traveller {
Car c = new Car();
Public void startJourney() {
c.move();
}
}
Public class Car {
Public void move(){
...
}
}
此处 traveller
对象与 car
对象紧密耦合。
如果 traveller
想要从 car
更改为 plane
那么整个 traveller
类必须像下面这样更改:
Public class Traveller {
Plane p = new Plane();
Public void startJourney() {
p.move();
}
}
Public class Plane {
Public void move(){
...
}
}
松耦合
在这种情况下,我们的主要对象
traveller
将允许外部实体,即所谓的container
提供object
。所以traveller
不必从car
或plane
对象创建自己的类,它将从container
当对象允许依赖注入(inject)机制时。
外部实体,
container
可以根据一定的逻辑注入(inject)car
或plane
对象,旅行者
。
示例:
Public class Traveller {
Vehicle v;
Public void setV(Vehicle v) {
this.V = V;
}
Public void startJourney() {
V.move();
}
}
此处 traveller
类注入(inject)了 car
或 plane
对象。如果我们想将依赖项从汽车更改为飞机,则无需在 traveller
类中进行任何更改。
Traveller
类采用车辆引用,因此外部对象(Container)可以注入(inject) car
对象或 plane
对象,具体取决于要求旅行者
。
关于java - 松耦合和紧耦合将用作真实场景的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19976273/