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

面向对象编程(OOP)是一种使用类和方法设计程序的范例。真实世界的场景可以映射到对象。因此,很容易构建软件解决方案。类是构建对象的蓝图。它包含属性和方法。例如,在创建student对象之前,应该有一个具有属性和方法的类student。学生可以具有诸如学生id、名称等属性,以及诸如read、write、study等方法。方法描述行为,而属性是属性。创建类之后,可以使用它们创建对象。对象创建也称为对象...

关键区别——多重继承与多级继承

面向对象编程(OOP)是一种使用类和方法设计程序的范例。真实世界的场景可以映射到对象。因此,很容易构建软件解决方案。类是构建对象的蓝图。它包含属性和方法。例如,在创建student对象之前,应该有一个具有属性和方法的类student。学生可以具有诸如学生id、名称等属性,以及诸如read、write、study等方法。方法描述行为,而属性是属性。创建类之后,可以使用它们创建对象。对象创建也称为对象实例化。对象不是孤立存在的。它们与其他对象通信,数据在对象内传递。OOP的一个支柱是继承。继承的目的是提高代码的可重用性。它将为现有类创建一个新的属性类和方法类。现有的类称为基类,新类称为派生类。多重继承和多级继承是继承类型。本文讨论了它们之间的区别。多重继承和多级继承的关键区别在于,多重继承是指一个类从许多基类继承,而多级继承是指一个类从派生类继承,使派生类成为新类的基类。

目录

1. 概述和主要区别
2. 什么是多重继承
3. 什么是多层次遗传
4. 多重遗传与多级遗传的相似性
5. 并排比较-表格形式的多重与多级继承
6. 摘要

什么是多重继承(multiple inheritance)?

多重继承是指一个类继承多个基类。

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

图01:多重继承

A B和C是类。A和B是基类,C是派生类。C类必须同时管理基类A和B的依赖关系。多重继承在软件项目中并没有得到广泛的应用。它使系统更加复杂,因为一个类继承了许多类。

例如,假设类A和类B都有一个同名的方法,即sum(),而类C派生这两个类。创建C类型的对象并调用sum()方法后,可能会导致错误,因为两个类都有相同的方法。编译器不知道要调用哪个函数。因此,多重继承增加了系统的复杂性。C++语言支持多继承,但java、C语言等语言不支持多重继承。相反,这些语言使用类似于类但不能实例化的接口。

什么是多层次遗传(multilevel inheritance)?

多级继承是指一个类从派生类继承,使派生类成为新类的基类。

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

图02:多级继承

多级遗传有三个层次。B从类A继承而C从类B继承的中间类。A是B的基类,B是C的基类。

实现多级继承的程序如下。程序是用Java编写的。

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

图03:实现多级继承的程序

根据上面的程序,类A是类B的基类,类B是类C的基类,类A的所有属性和方法都可以被类B访问,类B的所有属性和方法都可以被C类访问,因此,C类可以同时访问A和B的属性和方法。创建C类对象时,它是可以调用这三个方法A()、B()和C()。输出将给出A,B,C。

什么是多重遗传与多级遗传的相似性(the similarity between multiple and multilevel inheritance)?

  • 这两种类型都是继承。

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

多重继承与多级继承
多重继承是一个类从多个基类继承的继承类型。 多级继承是从派生类继承的继承类型,使派生类成为新类的基类。
使用
多重继承并没有得到广泛的应用,因为它使系统更加复杂。 多级遗传被广泛应用。
等级
多重继承有两个类级别,即基类和派生类。 多级继承有三个类级别,即基类、中间类和派生类。

总结 - 倍数(multiple) vs. 多层次遗传(multilevel inheritance)

继承是面向对象编程的主要支柱。遗传有不同的类型,有单级继承、多级继承、多重继承、等级继承和混合继承。单级继承有一个基类和一个派生类。层次继承有一个基类和许多派生类。混合遗传是多层次遗传和多重遗传的结合。本文介绍了多重继承与多级继承的区别。多重继承和多级继承的区别在于,多重继承是指一个类从许多基类继承,而多级继承是指一个类从派生类继承,使派生类成为新类的基类。多级继承比多重继承应用广泛。

下载pdf多重vs多级继承

你可以下载这篇文章的PDF版本,并按照引文说明离线使用。请在这里下载PDF版本多重继承和多级继承的区别

引用

1.Singh,Chaitanya等人。Java中的继承类型:单继承、多继承、多级继承和混合继承初学者图书网2013年12月6日。在这里可以买到2。tutorialspoint.com网站. “Java继承。”要点。可在这里找到
2tutorialspoint.com网站. “Java继承。”

  • 发表于 2020-10-19 20:00
  • 阅读 ( 393 )
  • 分类:IT

你可能感兴趣的文章

多基因遗传(polygenic inheritance)和多菌性(pleiotropy)的区别

...与多效性的表格形式 6. 摘要 什么是多基因遗传(polygenic inheritance)? 多基因遗传是指单个表型性状受多个基因控制的现象。它也被称为数量遗传。简单地说,多基因遗传是指单个表型性状由两个或多个基因控制。因此,多个基因...

  • 发布于 2020-09-16 05:58
  • 阅读 ( 639 )

混合(blending)和微粒遗传(particulate inheritance)的区别

...表格形式混合与微粒遗传 6. 摘要 什么是混合遗传(blending inheritance)? 混合遗传是一种早期理论,认为后代从父母那里得到遗传物质的混合物。因此,后代表现出介于双亲之间的中间特征。换言之,混合理论认为,双亲产生的后...

  • 发布于 2020-09-22 19:21
  • 阅读 ( 434 )

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

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

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

细胞质遗传(cytoplasmic inheritance)和核遗传(nuclear inheritance)的区别

...遗传与板状遗传比较 6. 摘要 什么是细胞质遗传(cytopla**ic inheritance)? 细胞质遗传是一种涉及细胞质细胞器DNA的遗传。在这种遗传中,后代接受来自细胞质细胞器的基因(血浆基因或核外基因)。线粒体和叶绿体含有由DNA组成的...

  • 发布于 2020-10-16 03:40
  • 阅读 ( 229 )

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

...所有属性和方法,只有一个级别,因此称为单级继承。 多层次继承 在多级继承中,有三个级别的类。中间类继承自超级类。子类继承自中间类。如果有A,B,C三个类,A是超类,B是中间类。然后B从A继承,C从B继承,这是一个多...

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

单基因(monogenic)和多基因遗传(polygenic inheritance)的区别

...因的表格形式的遗传 6. 摘要 什么是单基因遗传(monogenic inheritance)? 生物单基因遗传是指一个性状由一个基因决定的过程,该基因从母体遗传给后代。该基因的两个等位基因位于同一个基因座上。这种遗传模式描绘了人物不连续...

  • 发布于 2020-10-20 19:32
  • 阅读 ( 631 )

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

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

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

因素(factors)和倍数(multiples)的区别

因子与倍数 小学数学是为数学学科所带来的辉煌复杂世界打开的大门。世界确实是一个数字和计算的矩阵;你周围的一切都是可以测量的,所有让你困惑的事情都可以用数字来解释。甚至神力之手的存在也可以通过专家称之为...

  • 发布于 2021-06-23 12:26
  • 阅读 ( 209 )

谐波(harmonics)和泛音(overtones)的区别

...个乐器的声音都不同。 Harmonics are frequencies which are integer multiples of the fundamental frequency. If the fundamental frequency is , then harmonics have frequencies  and so on. 什么是泛音(overtones)? Overtones refer to any of the resonant frequencies above the fundamental f...

  • 发布于 2021-06-27 10:20
  • 阅读 ( 892 )

多重等位基因(multiple alleles)和多基因性状(polygenic traits)的区别

多重等位基因的主要差异(main difference multiple alleles) vs. 多基因性状(polygenic traits) 多等位基因和多基因性状是两种非孟德尔遗传模式,其中许多因素参与决定一个特定的性状。在孟德尔遗传中,只有两个因素与特定性状的...

  • 发布于 2021-06-29 08:13
  • 阅读 ( 388 )
z78328084
z78328084

0 篇文章

相关推荐