“多重继承”是什么意思?

当谈到面向对象编程(OOP)语言时,多重继承是指从多个父类继承功能的类。如果不理解什么是类,就无法完全理解这个术语。类的一个非常简短的定义是OOP语言中的一组编程指令或代码,这些指令或代码描述实体,并且是实体的本质。类定义实体的所有属性,并包含操作这些属性所需的所有方法。...

当谈到面向对象编程(OOP)语言时,多重继承是指从多个父类继承功能的类。如果不理解什么是类,就无法完全理解这个术语。类的一个非常简短的定义是OOP语言中的一组编程指令或代码,这些指令或代码描述实体,并且是实体的本质。类定义实体的所有属性,并包含操作这些属性所需的所有方法。

In object-oriented computer programming, multiple inheritance refers to a class that inherits functionality from more than one parent class.

根据正在编写的程序,可能需要编写许多具有共同点但需要保持不同实体的类。这就是多重继承发挥作用的地方。例如,技术进步可以制造出能像飞机一样飞行的潜艇或能像潜艇一样潜入水中的飞机,这将产生一种混合产品。这种混合动力车将具有与飞机相同的一些性能和潜艇的一些性能,但它将是一种独特的产品或实体。多重继承可以很容易地允许混合继承来自飞机类的功能和来自潜艇类的功能,而无需复制代码。

解释多重继承的另一种方式是,它允许多个类作为其他类的基础。使用多重继承比简单地将代码从一个或多个类复制到另一个类有很多优点。程序中的错误通常需要时间才能被发现,但一旦发现,就需要尽快纠正。如果包含bug的代码被复制到多个类,程序员必须对代码的每个副本应用相同的修复。然而,当采用多重继承时,他或她必须只处理所有子类从中继承功能的原始类的代码。

并非所有编程语言都支持多重继承,即使它们支持面向对象。某些语言的某些版本可能声称支持它,但实际上它们只支持从两个类继承。其他类从中继承功能的类通常称为“父”类或“超类”,继承的类称为“子”类或“子类”强烈建议对以这种方式使用类感兴趣的程序员,在尝试利用多重继承的功能之前,首先要对类的基础知识有一个坚实的了解,因为父类中的错误或糟糕的编码实践会传递给子类。

  • 发表于 2021-12-09 12:02
  • 阅读 ( 56 )
  • 分类:互联网

你可能感兴趣的文章

包裹(package)和java接口(interface in java)的区别

...是扩展A和B,那么C类必须定义这两个类的抽象方法。这是多重继承。Java不支持多重继承。为了实现它,程序员应该使用接口。如果A和B是接口,那么C类可以实现它们。参考以下示例。 图03:接口A 图04:接口B 接口A有display1抽象...

  • 发布于 2020-10-18 11:01
  • 阅读 ( 570 )

超类(superclass)和子类(subclass)的区别

...B的超类,B是C的超类。在分层继承中,A是B和C的超类。在多重继承中,A和B都是C的超类。 混合遗传是多层次和多层次遗传的结合。在左图中,A是B、C和B的超类,C是D的超类。在右边的图中,A是B和B的超类,D是C的超类。 参考下...

  • 发布于 2020-10-19 19:56
  • 阅读 ( 701 )

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

关键区别——多重继承与多级继承 面向对象编程(OOP)是一种使用类和方法设计程序的范例。真实世界的场景可以映射到对象。因此,很容易构建软件解决方案。类是构建对象的蓝图。它包含属性和方法。例如,在创建student...

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

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

...型 遗传有多种类型。它们分别是单级继承、多级继承、多重继承、层次继承和混合继承。 单一继承 在单继承中,有一个超类和一个子类。如果类A是超类,类B是子类,那么类B可以访问类A的所有属性和方法,只有一个级别,因...

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

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

...继承是从现有的类中派生新的类,而接口是实现抽象类和多重继承。 目录 1. 概述和主要区别 2.Java中的继承是什么 3. Java中的接口是什么 4. Java中继承与接口的相似性 5. 并行比较——继承与Java中的接口的表格形式 6. 摘要 什么是j...

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

抽象类(abstract class)和c中的接口#(interface in c#)的区别

...一个类。 抽象类与接口:c语言中抽象类与接口的区别# 多重继承–一个类只能使用一个抽象类,因此不支持多重继承。另一方面,接口可以支持多重继承,这意味着一个类可以继承任意数量的继承。 C#中抽象类和接口的定义—...

  • 发布于 2021-06-25 03:34
  • 阅读 ( 355 )

抽象类(abstract class)和java接口(interface in java)的区别

...的。 java中抽象类与接口的区别 Java中抽象类和接口的“多重继承”——尽管事实上抽象类和接口都主要用于抽象,但它们彼此有很大的不同。抽象类是类,接口是接口。这意味着虽然一个接口只能扩展另一个Java接口,但一个抽...

  • 发布于 2021-06-25 03:52
  • 阅读 ( 302 )

抽象类(abstract class)和java接口(interface in java)的区别

...主要区别在于抽象类用来实现抽象,接口用来实现抽象和多重继承。 面向对象编程(OOP)的一个主要支柱是抽象。它是隐藏实现细节并仅向用户显示功能的过程。例如,用户无需了解遥控器内部的电路即可操作遥控器。抽象与...

  • 发布于 2021-07-01 01:29
  • 阅读 ( 277 )

C++(c++)和JAVA(java)的区别

...与java的主要区别在于C++依赖于平台,而java与平台无关。 多重继承 多重继承是C++和java之间的另一个区别。C++支持多重继承。然而,Java不直接支持多重继承,但是程序员可以使用接口来完成这个任务。 编译器/解释器 C++是一种基...

  • 发布于 2021-07-01 07:51
  • 阅读 ( 332 )

包裹(package)和接口(interface)的区别

... 导入测试。*; 什么是接口(interface)? 接口是实现抽象和多重继承的机制。接口中的方法是抽象方法。这些方法没有任何实现。它也可以有变量或字段。它们可以是公共的、静态的或最终的。此外,不可能使用接口创建对象。一...

  • 发布于 2021-07-01 09:47
  • 阅读 ( 351 )
Betty韩
Betty韩

0 篇文章

相关推荐