Die objektorientierte Programmierung (Object Oriented Programming, OOP) ist ein Paradigma, um ein Programm mithilfe von Klassen und Methoden zu entwerfen. Szenarien aus der realen Welt können Objekten zugeordnet werden. Daher ist es einfach, Softwarelösungen zu erstellen. Eine Klasse ist ein Bauplan, um ein Objekt zu erstellen. Es enthält Eigenschaften und Methoden. Vor dem Erstellen eines Schülerobjekts sollte beispielsweise ein Schüler mit Eigenschaften und Methoden vorhanden sein. Ein Student kann Eigenschaften wie Student ID, Name und Methoden wie Lesen, Schreiben, Lernen haben. Methoden beschreiben das Verhalten, während Eigenschaften die Attribute sind. Nach dem Erstellen der Klasse können Objekte mit diesen erstellt werden. Die Objekterstellung wird auch als Objektinstanziierung bezeichnet. Objekt existiert nicht isoliert. Sie kommunizieren mit anderen Objekten und Daten werden innerhalb von Objekten übergeben. Eine Säule von OOP ist die Vererbung. Der Zweck der Vererbung besteht darin, die Wiederverwendbarkeit von Code zu erhöhen. Es erstellt eine neue Klasse von Eigenschaften und Methoden der bereits vorhandenen Klasse. Die vorhandene Klasse wird als Basisklasse und die neue Klasse als abgeleitete Klasse bezeichnet. Mehrfachvererbung und mehrstufige Vererbung sind Vererbungstypen. Dieser Artikel beschreibt den Unterschied zwischen ihnen. Das Hauptunterschied zwischen mehrstufiger und mehrstufiger Vererbung ist das Mehrfachvererbung ist, wenn eine Klasse von vielen Basisklassen erbt, während Multilevel-Vererbung eine Klasse von einer abgeleiteten Klasse erbt, die diese abgeleitete Klasse zur Basisklasse für eine neue Klasse macht.
1. Übersicht und Schlüsseldifferenz
2. Was ist Mehrfachvererbung?
3. Was ist mehrstufige Vererbung?
4. Ähnlichkeiten zwischen mehrstufiger und mehrstufiger Vererbung
5. Side-by-Side-Vergleich - Mehrfachvererbung in mehreren Ebenen in Tabellenform
6. Zusammenfassung
Mehrfachvererbung ist, wenn eine Klasse mehrere Basisklassen erbt.
Abbildung 01: Mehrfachvererbung
A B und C sind Klassen. A und B sind Basisklassen und C ist die abgeleitete Klasse. Die Klasse C muss die Abhängigkeit der beiden Basisklassen A und B verwalten. Mehrfache Vererbung wird in Softwareprojekten nicht häufig verwendet. Dadurch wird das System komplexer, da eine Klasse viele Klassen erbt.
Angenommen, die Klassen A und B haben beide eine Methode mit demselben Namen, nämlich sum () und Klasse C leitet beide Klassen ab. Nachdem Sie ein Objekt vom Typ C erstellt und die Methode sum () aufgerufen haben, kann es zu einem Fehler kommen, da beide Klassen dieselbe Methode haben. Der Compiler weiß nicht, welche Funktion aufgerufen werden soll. Daher erhöht Mehrfachvererbung die Komplexität eines Systems. In C ++ wird Mehrfachvererbung unterstützt, aber Sprachen wie Java, C # unterstützen Mehrfachvererbung nicht. Stattdessen verwenden diese Sprachen eine Schnittstelle, die einer Klasse ähnelt, aber nicht instanziiert werden kann.
Mehrstufige Vererbung ist, wenn eine Klasse von einer abgeleiteten Klasse erbt und diese abgeleitete Klasse zur Basisklasse für eine neue Klasse macht.
Abbildung 02: Vererbung auf mehreren Ebenen
Mehrstufige Vererbung hat drei Ebenen. Die Zwischenklasse, die B von Klasse A und Klasse C erbt, erbt von Klasse B. A ist die Basisklasse für B und B ist die Basisklasse für C.
Ein Programm, das mehrstufige Vererbung implementiert, lautet wie folgt. Das Programm wird mit Java geschrieben.
Abbildung 03: Programm, das mehrstufige Vererbung implementiert
Gemäß dem obigen Programm ist Klasse A die Basisklasse für Klasse B. Klasse B ist die Basisklasse für Klasse C. Alle Eigenschaften und Methoden der Klasse A sind für Klasse B zugänglich. Alle Eigenschaften und Methoden der Klasse B sind für Klasse zugänglich C. Daher kann die Klasse C auf Eigenschaften und Methoden von A und B zugreifen. Beim Erstellen eines Objekts vom Typ C können alle drei Methoden A (), B () und C () aufgerufen werden. Die Ausgabe ergibt A, B, C.
Mehrfachvererbung vs. Mehrstufenvererbung | |
Mehrfachvererbung ist ein Vererbungstyp, bei dem eine Klasse von mehr als einer Basisklasse erbt. | Mehrstufige Vererbung ist ein Vererbungstyp, der von einer abgeleiteten Klasse erbt und diese abgeleitete Klasse zur Basisklasse für eine neue Klasse macht. |
Verwendungszweck | |
Mehrfachvererbung wird nicht häufig verwendet, da das System dadurch komplexer wird. | Mehrstufige Vererbung ist weit verbreitet. |
Klassenstufen | |
Mehrfachvererbung hat zwei Klassenebenen, nämlich Basisklasse und abgeleitete Klasse. | Mehrstufige Vererbung hat drei Klassenebenen, nämlich Basisklasse, Zwischenklasse und abgeleitete Klasse. |
Vererbung ist eine wichtige Säule der objektorientierten Programmierung. Es gibt verschiedene Arten der Vererbung. Sie sind Vererbung auf einer Ebene, Vererbung auf mehreren Ebenen, Vererbung auf mehreren Ebenen, hierarchische Vererbung und hybride Vererbung. Die Single-Level-Vererbung hat eine Basisklasse und eine abgeleitete Klasse. Hierarchische Vererbung hat eine Basisklasse und viele abgeleitete Klassen. Die Hybrid-Vererbung ist eine Kombination aus Multilevel und Multi-Vererbung. Dieser Artikel beschreibt den Unterschied zwischen Mehrfachvererbung und Mehrstufenvererbung. Der Unterschied zwischen mehrstufigen und mehrstufigen Vererbungen besteht darin, dass bei der mehrfachen Vererbung eine Klasse von vielen Basisklassen erbt, während bei der mehrstufigen Vererbung eine Klasse von einer abgeleiteten Klasse erbt, wodurch diese abgeleitete Klasse eine Basisklasse für eine neue Klasse wird. Mehrstufige Vererbung wird häufig als Mehrfachvererbung verwendet.
Sie können die PDF-Version dieses Artikels herunterladen und gemäß dem Zitiervermerk für Offline-Zwecke verwenden. Laden Sie die PDF-Version hier herunter. Unterschied zwischen mehrstufiger und mehrstufiger Vererbung
1.Singh, Chaitanya, et al. "Vererbungstypen in Java: Single, Multiple, Multilevel und Hybrid." Beginnersbook.com, 6. Dezember 2013. Hier verfügbar
2. tutorialspoint.com. "Java-Vererbung". Die Stelle. Hier verfügbar
1. "Mehrere Erbschaften" Von Suman Maverick Gangulian Suman420 - Eigene Arbeit, (CC BY 3.0) über Commons Wikimedia
2.Multilevel Inheritance'By Autor: Suman Maverick Gangulian Suman420 (Vortrag) 12:03, 2 März 2015 (UTC) - Eigene Arbeit, (CC BY 3.0) über Commons Wikimedia