1.关于这个问题本身:
1)C++中的多继承感觉设计不清晰,同时可能会有二义性问题的产生(虽然在C++中已经通过虚基类和类名限定解决该问题)
2)JAVA中的但继承更适合于设计,符合现实,因为有些东西它不会既有这个东西的一些特性又有另外东西的一个特征。在java中用接口吧浙西额东西单独的封装成方法。只把共有的东西才通过继承来实现。
3)另外,对于java中的接口,是“public static final” 这一统一声明,对于语言本身会有一定的作用
2.引发的猜想:
1)因为C++的多继承的一些缺点,加上C++为了向下兼容C,向上又拥有OOP的性质,使得C++显得有些“臃肿”,当然,他的功能也正因为完善齐全。从而,C++现在更多的用于操作系统、游戏开发这些大型的需要功能齐全的方面。
再同时,结合谭浩强说过的一句话:“没有做过大型项目的人,是无法理解C++的美妙的”。现在,我可以相信我这个猜想是有一定道理的。
2)在《JAVA编程思想》中作者在序中谈到java这种语言的出现时建立在简化开发,提高开发效率的基础上。我想这也从侧面证明了C++的那些猜想是合理的。
3)哎MIT公开课中,MIT的教授在谈及语言的三个维度时,其说过每种语言的出现都会适用于一种用途。