我为什么要使用Interfaces?我知道他们强迫你实现方法等,但我不明白为什么你想要使用它们。任何人都可以给我一个很好的例子或解释我为什么要实现这个。
3 回答
FFIVE
TA贡献1797条经验 获得超6个赞
一个具体的例子:接口是指定其他人的代码必须满足的合同的好方法。
如果我正在编写代码库,我可能会编写对具有某组行为的对象有效的代码。最好的解决方案是在接口中指定这些行为(无实现,只是描述),然后在我的库代码中使用对实现该接口的对象的引用。
然后任何随机的人都可以来,创建一个实现该接口的类,实例化该类的对象并将其传递给我的库代码并期望它工作。注意:当然可以严格实现接口而忽略接口的意图,因此仅仅实现接口并不能保证事情能够正常工作。愚蠢总能找到方法!:-)
另一个具体的例子:两个团队致力于必须合作的不同组件。如果两个团队在第1天坐下并同意一组接口,那么他们可以分别采用各种方式并围绕这些接口实现其组件。团队A可以构建测试工具,模拟团队B中的组件进行测试,反之亦然。并行开发,减少错误。
关键点在于接口提供了一个抽象层,以便您可以编写不了解不必要细节的代码。
大多数教科书中使用的规范示例是排序例程。只要您有比较任何两个对象的方法,就可以对任何类对象进行排序。因此,您可以通过实现IComparable
接口来使任何类可排序,这会强制您实现比较两个实例的方法。编写所有排序例程以处理对IComparable对象的引用,因此只要实现IComparable,就可以在类的对象集合中使用任何这些排序例程。
添加回答
举报
0/150
提交
取消