<分区>
我遇到过许多反对在 C# 中包含多重继承的论点,其中一些包括(撇开哲学论点):
- 多重继承过于复杂且常常含糊不清
- 没有必要,因为接口(interface)提供了类似的东西
- 在接口(interface)不合适的情况下,组合是一个很好的替代品
我有 C++ 背景,怀念多重继承的强大和优雅。虽然它并不适合所有软件设计,但在某些情况下很难否认它对接口(interface)、组合和类似 OO 技术的实用性。
排除多重继承是否说明开发人员不够聪明,无法明智地使用它们并且无法在出现复杂性时解决它们?
我个人欢迎将多重继承引入 C#(也许是 C##)。
附录:我很想知道来自单一(或程序背景)和多重继承背景的回复。我经常发现没有多重继承经验的开发人员通常会默认多重继承是不必要的论点,仅仅是因为他们没有任何范例经验。