关键区别——多重继承与多级继承
面向对象编程(OOP)是一种使用类和方法设计程序的范例。真实世界的场景可以映射到对象。因此,很容易构建软件解决方案。类是构建对象的蓝图。它包含属性和方法。例如,在创建student对象之前,应该有一个具有属性和方法的类student。学生可以具有诸如学生id、名称等属性,以及诸如read、write、study等方法。方法描述行为,而属性是属性。创建类之后,可以使用它们创建对象。对象创建也称为对象实例化。对象不是孤立存在的。它们与其他对象通信,数据在对象内传递。OOP的一个支柱是继承。继承的目的是提高代码的可重用性。它将为现有类创建一个新的属性类和方法类。现有的类称为基类,新类称为派生类。多重继承和多级继承是继承类型。本文讨论了它们之间的区别。多重继承和多级继承的关键区别在于,多重继承是指一个类从许多基类继承,而多级继承是指一个类从派生类继承,使派生类成为新类的基类。
目录
1. 概述和主要区别
2. 什么是多重继承
3. 什么是多层次遗传
4. 多重遗传与多级遗传的相似性
5. 并排比较-表格形式的多重与多级继承
6. 摘要
什么是多重继承(multiple inheritance)?
多重继承是指一个类继承多个基类。
A B和C是类。A和B是基类,C是派生类。C类必须同时管理基类A和B的依赖关系。多重继承在软件项目中并没有得到广泛的应用。它使系统更加复杂,因为一个类继承了许多类。
例如,假设类A和类B都有一个同名的方法,即sum(),而类C派生这两个类。创建C类型的对象并调用sum()方法后,可能会导致错误,因为两个类都有相同的方法。编译器不知道要调用哪个函数。因此,多重继承增加了系统的复杂性。C++语言支持多继承,但java、C语言等语言不支持多重继承。相反,这些语言使用类似于类但不能实例化的接口。
什么是多层次遗传(multilevel inheritance)?
多级继承是指一个类从派生类继承,使派生类成为新类的基类。
多级遗传有三个层次。B从类A继承而C从类B继承的中间类。A是B的基类,B是C的基类。
实现多级继承的程序如下。程序是用Java编写的。
根据上面的程序,类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继承。”