可以使用接口在C#中实现多重继承吗?

时间:2010-10-22 07:26:00

标签: c# interface abstract-class multiple-inheritance

我经常在描述抽象类和接口的文章中遇到过,C#不支持多重继承但可以使用接口实现。由于以下原因,我不同意这一点

  1. 我们总是从任何一个类继承状态和行为。
  2. 接口未定义状态或行为。
  3. 我们不能从接口继承任何东西,但总是实现它。
  4. 所以底线是C#不支持多重继承,接口无法帮助我们实现多重继承(实际上我们永远不能从接口继承)。

2 个答案:

答案 0 :(得分:3)

不,你不能在C#,period中实现多重继承。

但是,您可以通过接口获得一些多重继承的好处,即可以将合同添加到类中以使其适合系统的其他部分的部分,替换原则

但不,你不能从多个基类中获取继承行为的部分。

答案 1 :(得分:1)

  

实际上我们永远不能从界面继承

释微。从界面“继承”是一种查看它的方式。它确实满足替代原则。

但我同意“实现”界面是一种更常见的表达/视图。