当实现类是必需的并且绑定到接口协定时,如何使用Java中的接口实现松耦合?


问题内容

当我们必须创建一个实现类时,松耦合如何与接口相关联?实现类被强制实现接口中定义的所有那些方法。我不明白这怎么允许失去耦合?我是面向对象的程序设计和软件设计的新手,因此,如果您能对这个话题有所了解,将会很有帮助。一个例子将是锦上添花。


问题答案:

关键是接口不仅允许您编写实现该接口的类,还允许您编写多个接口。

当您具有通过使用接口与类进行交互的代码时,该代码可以与实现该接口的任何类一起使用,而无论其如何实现。这样一来,您无需修改​​即可将不同的类提供给同一代码。

请注意,接口并不是实现组件松散耦合的唯一方法。松散耦合仅表示组件可以协同工作,而无需假设彼此的内部工作情况有关。之所以这样做,是因为您的组件将彼此视为黑匣子的次数越多,就越容易在一个组件上进行更改而不影响其他组件。接口可以是实现该目标的一种工具,但是它们既不是必需的,也不是这方面值得一提的唯一工具。