当前位置: 首页 > 面试题库 >

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

凌成天
2023-03-14
问题内容

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


问题答案:

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

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

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



 类似资料:
  • 本文向大家介绍Laravel 将接口绑定到实现,包括了Laravel 将接口绑定到实现的使用技巧和注意事项,需要的朋友参考一下 示例 在服务提供者register方法中,我们可以将接口绑定到实现: 从现在开始,每次应用程序需要的实例时UserRepositoryInterface,Laravel都会自动注入的新实例EloquentUserRepository:            

  • 问题内容: 我有一个对象。我想确定对象表示的类型是否实现特定的接口。我想知道如何实现? 我有以下代码。基本上,它所做的是获取指定包中所有类的数组。然后,我想遍历数组并将添加实现接口的Class对象添加到我的地图。问题是将一个对象作为参数。我无法实例化接口。所以我对此感到茫然。有任何想法吗? 问题答案: 您应该使用:

  • 我有一个对象。我想确定对象表示的类型是否实现了特定的接口。我想知道这是如何实现的? 我有以下代码。基本上,它所做的是获取指定包中所有类的数组。然后,我想遍历数组并将实现接口的类对象添加到映射中。问题在于将对象作为参数。我无法实例化接口。所以我有点不知所措。有什么想法吗?

  • 我试图使用反射来确定传入类是否实现了接口: 这是确定这一点的最佳/最有效的方法吗?我还看到一个

  • 问题内容: 在Objective-C中,您可以将类型定义为给定类并实现协议: 这将表明返回的值是实现给定协议的值。有没有办法在Swift中执行类似的操作? 问题答案: 您可以这样做: 这定义了一个函数,该函数返回类型为“SomeType”和协议“SomeProtocol”的对象,并返回符合这些条件的对象。

  • 本文向大家介绍接口的隐式实现是什么?何时在C#中使用接口的隐式实现?,包括了接口的隐式实现是什么?何时在C#中使用接口的隐式实现?的使用技巧和注意事项,需要的朋友参考一下 C#接口成员可以显式或隐式实现。 隐式实现在成员名称之前不包括要实现的接口的名称,因此编译器会推断出该名称。成员将公开显示,并且在将对象转换为混凝土类型时可以访问。 方法的调用也没有不同。只需创建该类的对象并调用它即可。 如果在