我知道Java和C#中不允许多重继承。许多书只是说,不允许多重继承。但是可以通过使用接口(interface)来实现。没有任何关于为什么不允许它的讨论。谁能确切告诉我为什么不允许这样做?

最佳答案

简短的答案是:因为语言设计师决定不这样做。

基本上,.NET和Java设计器似乎都不允许多重继承,因为他们认为添加MI 会给语言增加太多复杂性,而给带来的好处却很少

要获得更有趣和深入的阅读,Web上提供了一些文章,并对一些语言设计师进行了采访。例如,对于.NET,克里斯·布鲁姆(Chris Brumme)(曾在CLR上的MS工作)解释了他们决定不这样做的原因:



You can read the full article here.

对于Java,您可以阅读this article:

09-16 12:00