可能的重复:
C# 中的多重继承
dotnet 不支持多重继承。但多种接口支持。为什么会存在这种行为。
有具体原因吗??
您可以使用接口模拟多重继承。如果允许类的多重继承,则会导致钻石问题.
由于不支持多重继承的原因,我建议您阅读为什么C#不支持多重继承?
不同的语言实际上有
对 MI 的不同期望
作品。例如,冲突是如何发生的
已解决以及是否重复碱基
合并或冗余。在我们可以之前
在CLR中实现MI,我们要做的
对所有语言的调查,图
找出共同的概念,并决定
如何将它们表达为
语言中立的方式。我们也会
必须决定 MI 是否属于
CLS 及其意味着什么
不需要这个概念的语言
(例如,大概是 VB.NET)。的
当然,这就是我们的业务
作为公共语言运行时,但我们
还没时间为 MI 做这件事
然而。
真正存在 MI 的地方数量
适当的其实很小。
在很多情况下,需要多个接口
继承可以完成工作
反而。在其他情况下,您可能会
能够使用封装和
代表团。如果我们要添加一个
构造略有不同,例如
mixins,那实际上会更多吗
强大的?
多重实现继承
注入了很多复杂性
执行。这种复杂性
影响选角、布局、调度、
现场访问、序列化、身份
比较、可验证性、
反射、泛型以及可能
还有很多其他地方。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)