单继承与多继承

作者: Laura McKinney
创建日期: 4 四月 2021
更新日期: 10 可能 2024
Anonim
Solidity合约单继承与多继承
视频: Solidity合约单继承与多继承

内容

单一继承和多重继承之间的主要区别在于,在单一继承中,派生类仅继承一个基类,而在多重继承中,派生类继承多个基类。


继承是面向对象编程中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中使用了多个继承。与单继承相比,用于多继承的代码的实现很复杂。

关键差异

  1. 在单一继承中,派生类仅继承一个基类,而在多重继承中,派生类继承多个基类。
  2. 单一继承比多重继承更安全,而多重继承并不安全。
  3. 在单一继承中,单个类的特征被继承,而在多重继承中,多个类的特征可以被继承。
  4. 单一继承需要更多的运行时间,而多重继承需要更少的运行时间

结论

在上面的这篇文章中,我们看到实现与单继承和多继承之间的明显区别


解释性视频