单一继承(single inheritance)和多重继承(multiple inheritance)的区别

单继承和多继承的关键区别在于,在单继承中,派生类只继承一个基类,而在多继承中,派生类继承多个基类。...

单继承和多继承的关键区别在于,在单继承中,派生类只继承一个基类,而在多继承中,派生类继承多个基类。

单一继承(single inheritance)和多重继承(multiple inheritance)的区别

继承是面向对象编程中最重要的概念之一。继承支持可重用性的概念。可重用性意味着新类重用已经存在的类的属性。在继承派生类继承基类和访问时,说明符决定将继承哪个基类成员。继承的类型有单继承、层次继承、多级继承和混合继承。在单继承中,派生类只继承一个基类,而在多继承中,派生类继承多个基类。

只有一个派生类是从基类继承的。有三种方法可以继承基类,即公共的、受保护的和私有的。访问说明符用于继承基类。单一继承的原因是从单一父类继承属性和行为。面向对象程序设计的主要目的是代码的可重用性,它是通过单一继承来实现的。如果说单继承比多重继承更容易,那么单继承比多重继承更容易。函数重写用于单个继承。运行时多态性称为重写。重写是通过使用虚函数关键字来实现的。这个关键字在基类中使用。当派生类重新定义函数时,不能更改重写的函数。C++中的重写决定了调用函数的哪个版本。在C++、java、PHP、C语言和Visual Basic中使用单继承。

多重继承允许派生多个基类这意味着您可以获得多个基类的属性。我们可以有一个派生类和多个基类。基类通过提及单独的访问说明符来继承。多重继承有对称合并和不对称扩展。当存在适配器模式时,将使用多重继承。在C++、Python、Perl、Eiffel、迪伦、CURL、EulISP、TCL中使用了多重继承。与单个继承相比,多个继承的代码实现是复杂的。

对比图

基础 单一继承 多重继承
意义 在单继承中,派生类只继承一个基类 在多继承中,派生类继承多个基类
保险柜 单一继承比多重继承更安全 实现多个继承是不安全的
访问 在单个继承中,单个类的特性被继承 在多重继承中,可以继承多个类的特性
运行时 单个继承需要更多的运行时间 多重继承需要更少的运行时间

单一继承

只有一个派生类是从基类继承的。有三种方法可以继承基类,即公共的、受保护的和私有的。访问说明符用于继承基类。单一继承的原因是从单一父类继承属性和行为。面向对象程序设计的主要目的是代码的可重用性,它是通过单一继承来实现的。如果说单继承比多继承更容易,那么单继承比多继承更容易。函数重写用于单个继承。运行时多态性称为重写。重写是通过使用虚函数关键字来实现的。这个关键字在基类中使用。当派生类重新定义函数时,不能更改重写的函数。C++中的重写决定了调用函数的哪个版本。在C++、java、PHP、C语言和Visual Basic中使用单继承。

多重继承

多继承允许派生多个基类这意味着您可以获得多个基类的属性。我们可以有一个派生类和多个基类。基类通过提及单独的访问说明符来继承。多重继承具有对称合并和不对称扩展。当存在适配器模式时,将使用多个继承。在C++、Python、Perl、Eiffel、迪伦、CURL、EulISP、TCL中使用了多个继承。与单个继承相比,多个继承的代码实现是复杂的。

在单一继承之间(between single inheritance)和多重继承(multiple inheritance)的区别

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

结论

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

解说视频

  • 发表于 2021-07-08 11:14
  • 阅读 ( 650 )
  • 分类:IT

你可能感兴趣的文章

混合理论(blending theory)和孟德尔遗传理论(mendelian inheritance theory)的区别

...不管两朵花的颜色如何。 什么是孟德尔遗传理论(mendelian inheritance theory)? 孟德尔遗传理论是孟德尔提出的。孟德尔遗传学的概念是以显性理论为基础的。在他对豌豆植物的观察之后,他提出了两个定律,即分离定律和独立分类...

  • 发布于 2020-10-14 19:39
  • 阅读 ( 498 )

倍数(multiple)和多层次遗传(multilevel inheritance)的区别

...格形式的多重与多级继承 6. 摘要 什么是多重继承(multiple inheritance)? 多重继承是指一个类继承多个基类。 图01:多重继承 A B和C是类。A和B是基类,C是派生类。C类必须同时管理基类A和B的依赖关系。多重继承在软件项目中并没有...

  • 发布于 2020-10-19 20:00
  • 阅读 ( 392 )

多态性(polymorphism)和oop中的继承(inheritance in oop)的区别

...是面向对象编程中的一个主要概念。 什么是oop中的继承(inheritance in oop)? 参考下面用Java编写的程序。 图03:继承示例 根据上面的程序,A类有sum()方法,B类有sub()方法。 类A的sum()方法可以在B类中使用extend关键字。重用...

  • 发布于 2020-10-19 21:16
  • 阅读 ( 552 )

继承(inheritance)和java接口(interface in java)的区别

继承(inheritance)和java接口(interface in java)的区别 Java是Sun Microsystems公司开发的一种编程语言。Java可以用来开发各种应用程序。它是一种支持面向对象、结构化等多种范式的语言,Java的主要优点是支持面向对象编程(OOP)。程序...

  • 发布于 2020-10-25 00:02
  • 阅读 ( 496 )

继承(inheritance)和多态性(polymorphism)的区别

遗传与多态性 在生物学中,当两个或两个以上明显不同的表型(或性状)存在于同一物种群体中或形态或形态的发育时,就会发生多态性。为了说明这一点,变形应该同时拥有相同的习惯,并且必须进行随机交配。多态性可能...

  • 发布于 2021-06-23 16:58
  • 阅读 ( 295 )

作文(composition)和继承(inheritance)的区别

...模型。本文对这两种方法进行了比较。   什么是继承(inheritance)? 在面向对象编程中,继承是实现代码可重用性的最强大工具之一。它是指一个对象获得一个或多个其他对象的特征的功能。C++中的继承意味着可以创建从现有类...

  • 发布于 2021-06-26 02:18
  • 阅读 ( 238 )

孟德尔(mendelian)和非孟德尔遗传(non mendelian inheritance)的区别

...要区别(main difference mendelian) vs. 非孟德尔遗传(non mendelian inheritance) 有性生殖的遗传模式是用孟德尔遗传和非孟德尔遗传来描述的。在繁殖过程中,一组性状或特征从父母传给后代。这些性状是遗传物质通过性细胞遗传而世代相...

  • 发布于 2021-06-29 09:19
  • 阅读 ( 533 )

继承(inheritance)和多态性(polymorphism)的区别

主要差异遗传(main difference inheritance) vs. 多态性(polymorphi**) 遗传和多态性是遗传学用来描述性状的两个术语。遗传和多态性的主要区别在于,遗传描述了一个特定有机体的特征是如何通过世代传递的,而多态性描述了一个特定有...

  • 发布于 2021-06-29 13:07
  • 阅读 ( 468 )

继承(inheritance)和java中的多态性(polymorphism in java)的区别

...、继承、重载、重写、多态性、Java 什么是java中的继承(inheritance in java)? Java中的继承是一种机制,允许类使用已经存在的类的属性和行为。已经存在的类是父类或超类。继承属性和方法的新类称为子类或子类。继承的主要优点...

  • 发布于 2021-07-01 09:50
  • 阅读 ( 428 )

基类(base class)和C++中派生类(derived class in c++)的区别

...(vehicleDetails)的方法。 C++中有多种继承类型。 Figure 2: Inheritance Types 单一继承——它是一种简单的继承类型。派生类仅从一个基类继承。A是基类,B是派生类。 多重继承–派生类从两个或多个基类继承。A和B是基类,而C是派生...

  • 发布于 2021-07-01 14:50
  • 阅读 ( 741 )
笑出来就好了
笑出来就好了

0 篇文章

相关推荐