单继承与多继承
内容
单一继承和多重继承之间的主要区别在于,在单一继承中,派生类仅继承一个基类,而在多重继承中,派生类继承多个基类。
继承是面向对象编程中OOP中最重要的概念之一。继承支持可重用性的概念。可重用性是指新类重用已经存在的类的属性。在继承派生类继承基类和访问权限时,说明符确定将继承哪个基类成员。继承的类型有单继承,分层继承,多级继承和混合继承。在单一继承中,派生类仅继承一个基类,而在多重继承中,派生类继承多个基类。
从基类继承的只有一个派生类。有三种方法可以继承公共的,受保护的和私有的基类。访问说明符用于继承基类。单一继承的原因是从单个父类继承属性和行为。面向对象编程的主要目的是代码可重用性,这是通过使用单一继承来实现的。如果我们将单一继承与多重继承进行比较,则与多重继承相比,单一继承必须更容易。函数重写用于单继承。运行时多态被称为覆盖。通过使用虚函数关键字可以实现覆盖。此关键字在基类中使用。当派生类重新定义函数时,无法更改覆盖的函数。在C ++中进行重写可以确定调用哪个版本的函数。单继承用于C ++,Java,PHP,C#和可视化基础。
多重继承允许派生多个基类,这意味着您可以获得多个基类的属性。我们可以有一个派生类和多个基类。通过引用单独的访问说明符继承基类。多重继承具有对称的合并和不对称的扩展。有适配器模式时,将使用多重继承。在C ++,Python,Perl,Eiffel,Dylan,Curl,Eulisp,Tcl中使用了多重继承。与单继承相比,用于多继承的代码的实现很复杂。
内容:单继承和多继承之间的区别
- 比较表
- 单继承
- 多重继承
- 关键差异
- 结论
- 解释性视频
比较表
基础 | 单继承 | 多重继承 |
含义 | 在单继承中,派生类仅继承一个基类 | 在多个继承中,派生类继承了多个基类。
|
安全 | 单继承比多继承更安全 | 多重继承是不安全的实现 |
访问 | 在单继承中,单个类的特征被继承 | 在多个继承中,可以继承多个类的功能 |
运行 | 单一继承需要更多的运行时间 | 多重继承需要更少的运行时间 |
单继承
从基类继承的只有一个派生类。有三种方法可以继承公共的,受保护的和私有的基类。访问说明符用于继承基类。单一继承的原因是从单个父类继承属性和行为。面向对象编程的主要目的是代码可重用性,这是通过使用单一继承来实现的。如果我们将单一继承与多重继承进行比较,则与多重继承相比,单一继承必须更容易。在单继承中使用函数重写。运行时多态被称为覆盖。通过使用虚函数关键字可以实现覆盖。此关键字在基类中使用。当派生类重新定义函数时,无法更改被覆盖的函数。在C ++中进行重写可以确定调用哪个版本的函数。单继承用于C ++,Java,PHP,C#和可视化基础。
多重继承
多重继承允许派生多个基类,这意味着您可以获得多个基类的属性。我们可以有一个派生类和多个基类。通过提及单独的访问说明符来继承基类。多个继承具有对称的合并和不对称的扩展。存在适配器模式时,将使用多个继承。在C ++,Python,Perl,Eiffel,Dylan,Curl,Eulisp,Tcl中使用了多个继承。与单继承相比,用于多继承的代码的实现很复杂。
关键差异
- 在单一继承中,派生类仅继承一个基类,而在多重继承中,派生类继承多个基类。
- 单一继承比多重继承更安全,而多重继承并不安全。
- 在单一继承中,单个类的特征被继承,而在多重继承中,多个类的特征可以被继承。
- 单一继承需要更多的运行时间,而多重继承需要更少的运行时间
结论
在上面的这篇文章中,我们看到实现与单继承和多继承之间的明显区别