为什么C#doen';不支持多重继承
可能重复:为什么C#doen';不支持多重继承,c#,oop,multiple-inheritance,C#,Oop,Multiple Inheritance,可能重复: 我的一个朋友问了我这个问题 i、 e.为什么C#不支持多重继承使用接口更灵活,消除了多重继承的模糊性 更多细节,.多重继承使语言及其实现复杂化。我怀疑设计人员认为这些收益不值得付出努力。C#,就像Java支持一种通过允许一个类实现多个接口来处理多重继承的方法一样。它不是完全的多重继承,但是它可以完成您想要完成的事情。有很多这样的问题:但是为什么它应该支持它们呢?与语言复杂性的增加相比,多重继承的净价值非常低。由于接口是多重继承的子集,我不确定你如何得出它们更灵活的结论。它如何能更灵
我的一个朋友问了我这个问题
i、 e.为什么C#不支持多重继承使用接口更灵活,消除了多重继承的模糊性
更多细节,.多重继承使语言及其实现复杂化。我怀疑设计人员认为这些收益不值得付出努力。C#,就像Java支持一种通过允许一个类实现多个接口来处理多重继承的方法一样。它不是完全的多重继承,但是它可以完成您想要完成的事情。有很多这样的问题:但是为什么它应该支持它们呢?与语言复杂性的增加相比,多重继承的净价值非常低。由于接口是多重继承的子集,我不确定你如何得出它们更灵活的结论。它如何能更灵活?从类继承与从接口继承完全不同,接口只定义了一个契约,没有实际的功能/代码重用。有趣的是,有一个版本的Eiffel for.Net使用CLR接口和委托来实现Eiffel的版本(如果多次继承)。