【问题标题】:Regarding multiple inheritance关于多重继承
【发布时间】:2010-02-18 04:08:35
【问题描述】:

谁能解释一下

为什么 c# 不支持多重继承,因为 c++ 支持多重继承?怎么可能? c++如何支持?

【问题讨论】:

  • 您能否解释一下您在 C# 中寻找的多重继承特性,也许我们可以推荐其他可以实现您目标的东西?
  • 十个问题,零个接受?当你得到一个问题的最佳答案时,选择它作为你接受的答案是有礼貌的。这是向花时间阅读和回复您问题的人说“谢谢”的好方法。

标签: multiple-inheritance


【解决方案1】:

首先,更正一点:C# 确实支持多个接口 继承。它不支持多重实现继承。

不支持 MI 的两大原因是:

  • 无论如何,您都可以通过多接口继承来做您想做的事。

  • 它给编译器的实现增加了很多复杂性。

IMO,在许多情况下,语言中多重继承的可用性导致该功能经常被滥用。当像组合这样的东西也可以做的时候,单一继承已经不必要地嵌入到许多类层次结构中。

【讨论】:

    【解决方案2】:

    从有关 C# 常见问题的 MSDN 博客中,您可以找到 this answer。还有这个highly rated Stack Overflow question

    【讨论】:

      猜你喜欢
      • 2015-11-11
      • 2016-05-07
      • 1970-01-01
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 2012-03-07
      相关资源
      最近更新 更多