class Traveler {
Car c=new Car();
void startJourney() {
c.move();
}
}
class Car {
void move() { }
}
问问题
69 次
2 回答
2
你的问题可能意味着任何事情。完全猜测我会说这个问题可能是关于使用接口与具体类。
这种情况下的耦合来自于这样一个事实,即 Traveler 直接引用 Car 类,如果没有潜在的重大变化,它就不可能是另一个类。您可以做的是Car
实现一个接口Transport
并让 Traveler 传递一个 Transport。这样,Traveler 确实需要知道它使用的是什么类。
interface Transport {
void move() { }
}
class Traveler {
final Transport transport;
Traveler(Transport transport) {
this.transport = transport;
}
void startJourney() {
transport.move();
}
}
class Car implements Transport {
public void move() { }
}
// later
Traveler traveler = new Traveler(new Car());
traveler.startJourney();
于 2013-11-02T09:00:25.520 回答
0
class Traveler
{
Car c = new Car();
void startJourney()
{
c.move();
}
}
班级对Traver
班级有深入的了解Car
。他知道它存在,并且他知道它有一个名为 的方法move
。
但是,对 .Car
一无所知Traveler
,所以我不会称它们为“紧密耦合”。
于 2013-11-02T09:00:53.143 回答