我对java中的松散耦合和紧耦合有一些困惑.我知道松散耦合意味着关于彼此的最少信息和紧耦合意味着依赖.我们知道松散耦合可以通过接口实现和继承实现紧密耦合.
例如:
1)A(界面)<--------------------- B(班级)
2)C(班级)<--------------------- D(班级)
假设这四个类是我整个应用程序的一部分,那么B或D中的更改不会对应用程序产生任何影响(从运行的角度来看).从A或C中删除任何方法或变量都需要在应用程序中进行如此多的更改.所有得分都是2-2,但在C或A中添加新方法是不同的.如果我在C中添加新方法不会影响应用程序但是在A中添加,至少我必须在B和所有实现接口A的类中重写此方法.所以至少在这种情况下它是如何松散耦合的.我的疑问是,继承给予总是紧密耦合.我学习继承是OOP的强大工具之一.如果一个类遵循"是一种关系"则设计然后使用继承.松耦合意味着彼此之间的信息较少.A和C都不知道将来要实现或扩展哪个类,但是在添加B和D之后,现在B不依赖于A,因为它的所有方法都是抽象的,但D也可以覆盖继承特性.