class Traveler {
Car c=new Car();
void startJourney() {
c.move();
}
}
class Car {
void move() { }
}
-1
A
回答
2
你的問題可能意味着任何事情。完全猜測,我會說這個問題可能是在談論使用接口VS具體類。
這種情況下的耦合來自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();
+0
+1。不錯的代碼示例。 – Trying
0
class Traveler
{
Car c = new Car();
void startJourney()
{
c.move();
}
}
的Traver
類有Car
類成竹在胸。他知道它存在,他知道它有一個名爲move
的方法。
但是,Car
對Traveler
一無所知,所以我不會稱之爲「緊密耦合」。
相關問題
- 1. 兩點之間的汽車旅行時間swift
- 2. LdapContextSource緊密聯繫
- 3. Statement和ResultSet緊密聯繫密切
- 4. Twitter消費者密鑰和密鑰之間有什麼區別?
- 5. MySql。 DB所有者和汽車
- 6. Laravel SSH - 緊密聯繫
- 7. 了MySqlDataReader緊密聯繫
- 8. APS和APS Connect之間有什麼新的聯繫
- 9. '收縮空間緊湊'和'聚結'之間有什麼區別?
- 10. @Transactional和級聯之間的聯繫是什麼?
- 11. SIGTSTP和SIGCHLD之間有什麼關係
- 12. PyTorch和Torch之間有什麼關係?
- 13. IRimTable和PersistenceStore之間有什麼關係?
- 14. foreach和IEnumerable之間有什麼關係?
- 15. STL和stdlib之間有什麼關係
- 16. tsconfig.json和gulp.js之間有什麼關係?
- 17. '@ 1'和'@ 2'之間有什麼關係
- 18. SelectListItem和SelectList之間有什麼關係
- 19. document.write()和AJAX之間有什麼關係?
- 20. seneca和redis之間有什麼關係
- 21. streamjs和linqjs之間有什麼關係
- 22. MariaDB和MySQL之間有什麼關係?
- 23. __getattr__和getattr之間有什麼關係?
- 24. 什麼是「旅行之旅」試圖說的?
- 25. 汽車和Paint階級關係
- 26. 'Car myCar = new Car();''有什麼區別和'汽車myCar'?'?
- 27. LESS語言和Less框架之間的聯繫是什麼?
- 28. norminv和normrnd之間的聯繫是什麼?
- 29. 啓發式算法和算法之間的聯繫是什麼?
- 30. Jar簽名者和Apk簽名者之間有什麼區別?
不清楚你在問什麼,請詳細說明。 – amit