为了账号安全,请及时绑定邮箱和手机立即绑定

C++中的多继承和Java的区别,设计有什么优劣?

C++中的多继承和Java的区别,设计有什么优劣?

C++
开心每一天1111 2018-10-16 15:11:35
C++中的多继承和Java的区别,设计有什么优劣?
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

Java只有单继承,举个例子,在这里有个A类,我们又编写了两个类B类和C类,并且B类和C类分别继承了A类,并且对A类的同一个方法进行了覆盖。如果此时我们再次编写了一个D类,并且D类以多继承的方式同时集成了B类和C类,那么D类也会继承B类和C类从A类中重载的方法,那么问题来了,D类也开始犯迷糊了,我到底应该哪个继承哪个类中的方法呢,因为类是结构性的,这样就会造成结构上的混乱。这就是多继承的菱形继承问题。
C++也是面向对象的,为什么它却可以多继承的呢?首先,C++语言是1983年由贝尔实验室的Bjarne Stroustrup在C语言的基础上推出的,Java语言是1995年由James Gosling和同事共同正式推出的。其次,在C++被设计出来后,就会经常掉入多继承这个陷阱,虽然它也提出了相应的解决办法,但Java语言本着简单的原则舍弃了C++中的多继承,这样也会使程序更具安全性。

查看完整回答
反对 回复 2018-11-06
  • 1 回答
  • 0 关注
  • 483 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信