为了账号安全,请及时绑定邮箱和手机立即绑定

我为什么要使用Interfaces?

我为什么要使用Interfaces?

喵喔喔 2019-08-17 15:23:30
我为什么要使用Interfaces?我知道他们强迫你实现方法等,但我不明白为什么你想要使用它们。任何人都可以给我一个很好的例子或解释我为什么要实现这个。
查看完整描述

3 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

一个具体的例子:接口是指定其他人的代码必须满足的合同的好方法。

如果我正在编写代码库,我可能会编写对具有某组行为的对象有效的代码。最好的解决方案是在接口中指定这些行为(无实现,只是描述),然后在我的库代码中使用对实现该接口的对象的引用。

然后任何随机的人都可以来,创建一个实现该接口的类,实例化该类的对象并将其传递给我的库代码并期望它工作。注意:当然可以严格实现接口而忽略接口的意图,因此仅仅实现接口并不能保证事情能够正常工作。愚蠢总能找到方法!:-)

另一个具体的例子:两个团队致力于必须合作的不同组件。如果两个团队在第1天坐下并同意一组接口,那么他们可以分别采用各种方式并围绕这些接口实现其组件。团队A可以构建测试工具,模拟团队B中的组件进行测试,反之亦然。并行开发,减少错误。

关键点在于接口提供了一个抽象层,以便您可以编写不了解不必要细节的代码。

大多数教科书中使用的规范示例是排序例程。只要您有比较任何两个对象的方法,就可以对任何类对象进行排序。因此,您可以通过实现IComparable接口来使任何类可排序,这会强制您实现比较两个实例的方法。编写所有排序例程以处理对IComparable对象的引用,因此只要实现IComparable,就可以在类的对象集合中使用任何这些排序例程。


查看完整回答
反对 回复 2019-08-17
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

一个典型的例子是插件架构。开发人员A编写主应用程序,并希望确保开发人员B,C和D编写的所有插件符合他的应用程序对他们的期望。


查看完整回答
反对 回复 2019-08-17
  • 3 回答
  • 0 关注
  • 533 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信