Definition:是否所有的类都继承自单一的基类型。单根继承种的所有对象都具有一个共同的接口,他们归根到底都是相同的基本类型。
C++为了保证向后对于C的兼容性,采用了多继承。Java语言作为一种全新的设计语言则没有这方面的顾虑。
单继承得优势:
1. 单根继承保证所有的对象都具备唯一基类的功能。Java中这个根类为Object。
2. 所有的对象都可以很容易的在堆上创建实例,参数传递也得到了极大的简化。
3. 单根继承结构使垃圾回收器得实现变得更加容易。所有对象都保证具有基类型信息,因此不会因无法确定对象得类型而陷入僵局。
4. 对于系统级操作(异常处理)尤其重要,避免了菱形继承等问题,给编程带来了很大的灵活性/安全性。
菱形继承:
主要是在多继承中容易出现的调用不明确,引起歧义的情况, 在C++中可以使用域限定、虚继承来避免。
Reference: https://blog.csdn.net/monamokia/article/details/51537312