Einzelvererbung vs. Mehrfachvererbung

Autor: Laura McKinney
Erstelldatum: 4 April 2021
Aktualisierungsdatum: 16 Kann 2024
Anonim
Einzelvererbung vs. Mehrfachvererbung - Andere
Einzelvererbung vs. Mehrfachvererbung - Andere

Inhalt

Der Hauptunterschied zwischen Einzelvererbung und Mehrfachvererbung besteht darin, dass die abgeleitete Klasse bei Einzelvererbung nur eine einzelne Basisklasse erbt, während die abgeleitete Klasse bei Mehrfachvererbungen mehr als eine Basisklasse erbt.


Vererbung ist eines der wichtigsten Konzepte in OOP, das objektorientierte Programmierung ist. Das Konzept der Wiederverwendbarkeit wird bei der Vererbung unterstützt. Wiederverwendbarkeit bedeutet, dass eine neue Klasse die Eigenschaften der bereits vorhandenen Klasse wiederverwendet. In einer von der Vererbung abgeleiteten Klasse werden die Basisklasse und der Zugriff geerbt. Der Spezifizierer entscheidet, welches Basisklassenmitglied geerbt wird. Es gibt Vererbungstypen wie Einzelvererbung, hierarchische Vererbung, mehrstufige Vererbung und Hybridvererbung. Bei der einfachen Vererbung erbt die abgeleitete Klasse nur eine einzelne Basisklasse, während bei der mehrfachen Vererbung die abgeleitete Klasse mehr als eine Basisklasse erbt.

Es gibt nur eine einzige abgeleitete Klasse, die von der Basisklasse geerbt wird. Es gibt drei Möglichkeiten, die Basisklasse zu erben, die öffentlich, geschützt und privat ist. Der Zugriffsbezeichner wird zum Erben der Basisklasse verwendet. Der Grund für die Einzelvererbung besteht darin, die Eigenschaften und das Verhalten von einer einzelnen übergeordneten Klasse zu erben. Der Hauptzweck der objektorientierten Programmierung, nämlich die Wiederverwendbarkeit von Code, wird durch die Verwendung der Einfachvererbung erfüllt. Wenn wir von Einzelvererbung im Vergleich zu Mehrfachvererbung als sprechen, muss Einzelvererbung im Vergleich zu Mehrfachvererbung einfacher sein. Das Überschreiben von Funktionen wird bei der Einzelvererbung verwendet. Laufzeit-Polymorphismus wird als Überschreiben bezeichnet. Das Überschreiben wird durch die Verwendung eines virtuellen Funktionsschlüsselworts erreicht. Dieses Schlüsselwort wird in der Basisklasse verwendet. Wenn eine abgeleitete Klasse eine Funktion neu definiert, kann die überschriebene Funktion nicht geändert werden. Durch Überschreiben in C ++ wird festgelegt, welche Version der Funktion aufgerufen wird. Die einfache Vererbung wird in C ++, Java, PHP, C # und auf visueller Basis verwendet.


Durch Mehrfachvererbung können mehrere Basisklassen abgeleitet werden. Dies bedeutet, dass Sie die Eigenschaften mehrerer Basisklassen abrufen können. Wir können eine abgeleitete Klasse und mehrere Basisklassen haben. Die Basisklasse wird durch Erwähnung des separaten Zugriffsspezifizierers vererbt. Mehrfachvererbung hat symmetrische Verschmelzung und asymmetrische Erweiterung. Wenn ein Adaptermuster vorhanden ist, wird Mehrfachvererbung verwendet. Mehrfachvererbung wird in C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp, Tcl verwendet. Die Implementierung von Code für Mehrfachvererbungen ist im Vergleich zur Einzelvererbung komplex.

Inhalt: Unterschied zwischen Einzelvererbung und Mehrfachvererbung

  • Vergleichstabelle
  • Einzelvererbung
  • Mehrfachvererbung
  • Hauptunterschiede
  • Fazit
  • Erklärendes Video

Vergleichstabelle

BasisEinzelvererbungMehrfachvererbung
Bedeutung Bei der einfachen Vererbung erbt die abgeleitete Klasse nur eine einzelne Basisklasse

Bei mehreren Vererbungen erbt die abgeleitete Klasse mehr als eine Basisklasse.


 

SicherEinzelvererbung ist sicherer als MehrfachvererbungMehrfachvererbungen sind nicht sicher zu implementieren
ZugriffBei der Einzelvererbung werden Merkmale einer einzelnen Klasse vererbtBei Mehrfachvererbung können Merkmale mehrerer Klassen vererbt werden
Laufzeit Einzelne Vererbung erfordert mehr LaufzeitMehrfachvererbung erfordert weniger Laufzeit

Einzelvererbung

Es gibt nur eine einzige abgeleitete Klasse, die von der Basisklasse geerbt wird. Es gibt drei Möglichkeiten, die Basisklasse zu erben, die öffentlich, geschützt und privat ist. Der Zugriffsbezeichner wird zum Erben der Basisklasse verwendet. Der Grund für die Einzelvererbung besteht darin, die Eigenschaften und das Verhalten von einer einzelnen übergeordneten Klasse zu erben. Der Hauptzweck der objektorientierten Programmierung, nämlich die Wiederverwendbarkeit von Code, wird durch die Verwendung der Einfachvererbung erfüllt. Wenn wir von Einzelvererbung im Vergleich zu Mehrfachvererbungen sprechen, ist Einzelvererbung im Vergleich zu Mehrfachvererbungen einfacher. Das Überschreiben von Funktionen wird bei der Einzelvererbung verwendet. Laufzeit-Polymorphismus wird als Überschreiben bezeichnet. Das Überschreiben wird durch die Verwendung eines virtuellen Funktionsschlüsselworts erreicht. Dieses Schlüsselwort wird in der Basisklasse verwendet. Wenn eine abgeleitete Klasse eine Funktion neu definiert, kann die überschriebene Funktion nicht geändert werden. Durch Überschreiben in C ++ wird festgelegt, welche Version der Funktion aufgerufen wird. Die einfache Vererbung wird in C ++, Java, PHP, C # und auf visueller Basis verwendet.

Mehrfachvererbung

Mehrere Vererbungen ermöglichen das Ableiten von mehr als einer Basisklasse. Dies bedeutet, dass Sie die Eigenschaften von mehr als einer Basisklasse abrufen können. Wir können eine abgeleitete Klasse und mehrere Basisklassen haben. Die Basisklasse wird durch Erwähnung des separaten Zugriffsspezifizierers vererbt. Mehrfachvererbungen haben symmetrische Verschmelzung und asymmetrische Ausdehnung. Wenn ein Adaptermuster vorhanden ist, werden mehrere Vererbungen verwendet. In C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp und Tcl werden mehrere Vererbungen verwendet. Die Implementierung von Code für Mehrfachvererbungen ist im Vergleich zur Einzelvererbung komplex.

Hauptunterschiede

  1. Bei der einfachen Vererbung erbt die abgeleitete Klasse nur eine einzelne Basisklasse, während bei der mehrfachen Vererbung die abgeleitete Klasse mehr als eine Basisklasse erbt.
  2. Einzelne Vererbung ist sicherer als mehrere Vererbungen, während die Implementierung mehrerer Vererbungen nicht sicher ist.
  3. Bei der Einzelvererbung werden Merkmale einer einzelnen Klasse vererbt, während bei der Mehrfachvererbung Merkmale mehrerer Klassen vererbt werden können.
  4. Einzelne Vererbung erfordert mehr Laufzeit, während Mehrfachvererbungen weniger Laufzeit erfordern

Fazit

In diesem Artikel oben sehen wir den klaren Unterschied zwischen Einzelvererbung und Mehrfachvererbung bei der Implementierung

Erklärendes Video