Unterschied zwischen einfacher Vererbung und Mehrfachvererbung
Vererbung ist eines der Schlüsselkonzepte in der Programmierung objektorientierter. Ermöglicht einer Klasse, die Eigenschaften und Methoden einer anderen Klasse zu erben.
Einfache Vererbung
Von einfacher Vererbung spricht man, wenn eine Klasse nur Eigenschaften und Methoden von einer übergeordneten Klasse erbt. Stellen Sie sich vor, Sie haben eine übergeordnete Klasse namens „Tier“ und eine untergeordnete Klasse namens „Hund“. Die Klasse „Hund“ würde die Methoden und Eigenschaften der Klasse „Tier“ erben, wie unter anderem „fressen“, „schlafen“, „atmen“.
Mehrfachvererbung
Von Mehrfachvererbung spricht man, wenn eine Klasse Eigenschaften und Methoden von mehr als einer übergeordneten Klasse erbt. Mit anderen Worten: Eine untergeordnete Klasse kann mehrere übergeordnete Klassen haben. Diese Art der Vererbung ist in einigen Programmiersprachen wie C++ möglich, in anderen wie Java jedoch nicht.
Warum ist Mehrfachvererbung nicht in allen Programmiersprachen erlaubt?
Mehrfachvererbung kann zu Mehrdeutigkeitsproblemen führen. Mit anderen Worten: Wenn zwei übergeordnete Klassen Methoden oder Eigenschaften mit demselben Namen haben, ist möglicherweise nicht klar, welche dieser Methoden oder Eigenschaften für die untergeordnete Klasse verwendet werden sollen. Aus diesem Grund erlauben einige Programmiersprachen keine Mehrfachvererbung.
Liste der Programmiersprachen, die Mehrfachvererbung unterstützen:
- C + +
- Python
- Ruby
Liste der Programmiersprachen, die Mehrfachvererbung NICHT unterstützen:
- Javac
- C#
- PHP
Zusammenfassend lässt sich sagen, dass einfache Vererbung und Mehrfachvererbung zwei Schlüsselkonzepte in der objektorientierten Programmierung sind. Einfache Vererbung impliziert, dass eine untergeordnete Klasse nur Eigenschaften und Methoden von einer übergeordneten Klasse erben kann, während mehrfache Vererbung impliziert, dass eine untergeordnete Klasse Eigenschaften und Methoden von mehr als einer übergeordneten Klasse erben kann. Es ist wichtig zu beachten, dass aufgrund möglicher Mehrdeutigkeiten bei Methoden und Eigenschaften nicht alle Programmiersprachen eine Mehrfachvererbung zulassen.
Stellen Sie sicher, dass Sie den Unterschied zwischen diesen beiden Schlüsselkonzepten in der objektorientierten Programmierung verstehen!
Dieser verwandte Inhalt könnte Sie auch interessieren:
- Unterschied zwischen Assembler und Compiler
- Unterschied zwischen Interpreter und Compiler
- Unterschied zwischen Schlüsselwort und Bezeichner