为什么Java或C#不允许多重继承?

电脑杂谈  发布时间:2019-09-25 09:02:28  来源:网络整理

java单继承多实现_java支持多重继承吗_java接口继承多个接口

简单的提问是:因为语言设计者决定不这样做。

java支持多重继承吗_java接口继承多个接口_java单继承多实现

基本上,.NET和Java设计人员虽然都不允许多重继承,因为它们觉得添加MI增加了很多的复杂性向语言提供利益太少.

java接口继承多个接口_java支持多重继承吗_java单继承多实现

为了更有趣和深入的阅读,有一些文章可以在网络上与一些语言设计师的访谈。例如,对于.NET,Chris Brumme(曾在MS on CLR上工作)解释了人们决定不这样做的缘由:

java接口继承多个接口_java单继承多实现_java支持多重继承吗

不同的语言实际上对MI的工作方式有不同的希望。例如,冲突是怎样缓解的,重复的基是合并的抑或冗余的。在我们才能在CLR中实现MI之前,我们应该对所有的语言进行调查,找出常用的概念,并决定怎么以一种语言中立的形式来表达两者。我们还需要决定MI是否属于CLSjava支持多重继承吗,这对不想要这个概念的语言意味着什么(例如,假设是VB.NET)。当然,这是我们成为公共语言运行库所处的业务,但我们还没有为MI做好准备。

java支持多重继承吗_java接口继承多个接口_java单继承多实现

真正合适MI的地方的次数实际上是非常少的。在许多状况下,多接口继承可以替代完成工作。在其它状况下,您可以使用封装和委托。如果我们要添加一个稍微不同的构造java支持多重继承吗,比如Mixin,这真的会更强大吗?

多实现继承为推动注入了许多复杂性。这种复杂性影响到转化、布局、分派、字段访问、序列化、身份非常、可验证性、反射、泛型,以及许多其它地方。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/sanxing/article-124085-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 虞刚简
        虞刚简

        军事上虽说他有绝对优势但中国滑的像个泥鳅不给他动粗的正当理由

      • 陈振朝
        陈振朝

        我们的盟友大英帝国该出手了

      热点图片
      拼命载入中...