为什么我们应该使用接口,而不是多态?

时间:2018-03-21 03:55:43

标签: c# .net

我们是否应该使用接口而不是多态?我搜索过的每一个视频,资源和其他所有内容都只是讨论如何让接口遵循规则(合同)或遵循多态行为。

任何人都可以扩展吗?似乎没有其他人可以......我特别关注为什么接口用于解耦以及它们如何帮助解决这个问题。

2 个答案:

答案 0 :(得分:2)

接口正式化多态

接口允许我们以声明方式定义多态,与实现无关。如果两个元素实现相同的接口,则它们对于一组行为是多态的。

关于解耦

类可以共享相同的足迹/接口,并且生活在世界上完全不同的地方,不需要彼此了解,因此解耦。

Coupling (computer programming)

  

在软件工程中,耦合是相互依赖的程度   软件模块之间;衡量两者之间的紧密联系   例程或模块是; [之间关系的强度   模块。

答案 1 :(得分:-1)

  1. 您无法替换测试存根

  2. 一个类不能有多个基类,但可以有多个接口

  3. 类不能有通用差异,只有接口和委托类型可以。

  4. 有时您想要声明没有实现的接口,例如因此,两个不同的应用程序可以就代码中定义的合同达成一致。