Was ist Hybridvererbung in C++? Es sind Typen mit Beispielen

Veröffentlicht: 2021-05-27

Wir verwenden häufig den Begriff „Vererbung“ im Programmierkontext. Es ist eine Funktion, die in der Programmierung praktiziert wird, um die Codes optimal wiederzuverwenden. Wenn Sie sich an das Konzept von „IS-A“ in OOP (Object Oriented Programming) erinnern, werden Sie feststellen, dass es auf der Vererbungsfunktion basiert. Die Implementierung von Vererbungen hilft Ihnen, fortgeschrittene Projektideen in C++ zu gewinnen.

Inhaltsverzeichnis

Was ist Erbschaft?

Bei der Vererbung übernehmen die Objekte einer Klasse die Eigenschaften und das Verhalten einer anderen Klasse. Hier wird eine neue Klasse von der bestehenden Basisklasse abgeleitet. Die abgeleitete Mitgliedsklasse wird normalerweise als untergeordnete Klasse und Basisklassenmitglied der übergeordneten Klasse bezeichnet. Nachdem die untergeordnete Klasse abgeleitet wurde, erbt sie alle Eigenschaften und Methoden von der übergeordneten Klasse.

Darüber hinaus kann die untergeordnete Klasse ihre exklusiven Eigenschaften und Methoden für einen bestimmten Zweck haben. Die zusätzlichen Features, die einer vorhandenen Klasse lokal hinzugefügt werden, wirken sich nicht auf die Eigenschaften aus, die sie von der übergeordneten Klasse geerbt hat. Somit wird die neue Klasse kombinierte Merkmale beider Klassen aufweisen.

Vererbung in C++

In der Realität muss ein Programmierer oft ein Objekt entwickeln, das Folgendes tun muss:
1) alle Qualitäten seines Elternteils besitzen und zusätzlich
2) In einigen Aspekten ist Beharrlichkeit etwas Besonderes.

Solche außergewöhnlichen Eigenschaften in der Hauptklasse zu codieren, muss nicht unbedingt praktisch und wirtschaftlich sein. In diesem Fall wird eine neue Klasse abgeleitet, indem die Basisklasse erweitert wird. Auch das Ableiten von einer anderen Klasse mit zusätzlichen Eigenschaften. Auf diese Weise können Sie Attribute und Verhaltensweisen, die in anderen Klassen definiert sind, wiederverwenden, erweitern oder ändern. Somit ergibt die von mehreren Klassen abgeleitete Kindklasse ein Objekt, das einfach zu warten und zu portieren ist. Die abgeleitete Klasse ist die spezialisierte Klasse für die Basisklasse.

Technisch gesehen wird das Schlüsselwort „extends“ verwendet, um eine Klasse zu erben. C++ verwendet den Doppelpunkt („ : “), um von einer Klasse zu erben.

Arten von Erbschaften

Die Verwendung einer Kombination aus Vererbung und Implementierung unterscheidet sich für einen Zweck, zu dem die Klassen abgeleitet werden. In C++ sind verschiedene Arten von Vererbungen verfügbar, wie unten aufgeführt:

  • Bei der Einzelvererbung erbt eine abgeleitete Klasse Eigenschaften und Verhalten von einer einzelnen Basisklasse. Beispiel: Klasse A → Klasse B.
  • Bei der hierarchischen Vererbung wird mehr als eine abgeleitete Klasse aus einer einzigen Basisklasse erstellt. Beispiel: Klasse A → Klasse B → Klasse C.
  • Mehrfachvererbung dient zum Ableiten einer Klasse von mehreren Basisklassen. Hier werden die von Programmierern erstellten untergeordneten Objekte kombinierte Aspekte von Merkmalen und Merkmalen aus mehreren übergeordneten Klassen aufweisen. Diese Objekte folgen ihren Hierarchien von Basisklassen.
  • Bei der Vererbung auf mehreren Ebenen wird eine untergeordnete Klasse von einer anderen abgeleiteten Klasse abgeleitet. Diese Funktion trägt kombinierte Aspekte mehrerer Klassen und folgt ihren Hierarchien.
  • Hybridvererbung ist ein heterogenes Merkmal der Verwendung mehrerer Vererbungen. Hier wird eine untergeordnete Klasse aus einer oder mehreren Kombinationen von einfachen, hierarchischen und mehrstufigen Vererbungen abgeleitet. Diese Vererbung wird für Programme übernommen, um verschiedene Vererbungsarten zu mischen; zum Beispiel, wenn eine einzelne Vererbung mit mehreren Vererbungen gemischt wird oder vielleicht eine Situation, wenn mehrere Vererbungen innerhalb eines einzigen Programms gemischt werden.

Einfaches Beispiel

Hier werden Klasse B und Klasse C beide von der Basisklasse Klasse A abgeleitet.

Eine hierarchische Klassifizierung von Autos zeigt zwei Klassen. Sowohl „Benzinautos“ als auch „Elektroautos“ sind von der Basisklasse „Autos“ abgeleitet.

Hybridvererbung in C++

Es könnte Situationen geben, in denen wir zwei oder mehr Arten von Vererbung kombiniert anwenden müssen, um ein Programm zu entwerfen. Wenn ein Programm mehr als einen Vererbungstyp umfasst, wird es als hybride Vererbung bezeichnet.

Hybridvererbung ist eine Kombination aus einfacher Mehrfachvererbung und hierarchischer Vererbung. Normalerweise wird bei Mehrfachvererbung eine Klasse von zwei Klassen abgeleitet, wobei eine der Elternklassen ebenfalls eine abgeleitete Klasse und keine Basisklasse ist.

Hybridvererbung in C++ ist die Vererbung, bei der eine Klasse von mehr als einer Form oder Kombinationen beliebiger Vererbungen abgeleitet wird. Die hybride Vererbung in C++ wird auch als Multipath-Vererbung bezeichnet, bei der eine abgeleitete Klasse Eigenschaften der Basisklasse in verschiedenen Pfaden erben kann. Manchmal auch Multipath-Vererbung genannt. Dies kann beispielsweise durch eine Kombination aus mehrstufiger und hierarchischer Vererbung erreicht werden.

Kurz gesagt, hybride Vererbung ist eine Kombination aus zwei oder mehr Arten der Vererbung. Beispielsweise durch die Implementierung von ein- und mehrstufigen Vererbungen im selben Programm.

Blockdiagramm der hybriden Vererbung

Das Diagramm stellt die hybride Kombination zweier Erbschaften dar; die Einfachvererbung und die Mehrfachvererbung. Hier wird bei der Einfachvererbung die Klasse B von der Klasse A abgeleitet . In ähnlicher Weise wird bei Mehrfachvererbung Klasse D von mehreren Klassen geerbt. Hier Klasse B und Klasse C. Eine Mischung aus Einfachvererbung und Mehrfachvererbung bildet also eine Mischvererbung.

Die hybride Vererbung ist in Szenarien anwendbar, in denen wir mehr als eine Vererbung in einem Programm anwenden müssen.

Syntax der Hybridvererbung in C++

Eine typische Syntax und Semantik für hybride Vererbung in C++ folgt wie unten dargestellt:

Beispiele für Hybridvererbung in C++

Beispiel 1: Einfache + Mehrfachvererbung

Sehen wir uns an, wie Einfach- und Mehrfachvererbung implementiert werden.

Jeder Block in diesem Diagramm repräsentiert eine Klasse und der entsprechende Pfeil die Vererbung einer Klasse.

Beispiel 2: Ein- und mehrstufige Vererbung

Wir können auch andere Vererbungsarten implementieren, um hybride Vererbungen zu begründen.

Betrachten wir ein Echtzeitbeispiel .

Wir leiten eine Auto-Unterklasse von der Klasse Vehicle ab. Eine andere Klasse charakterisiert Racing. Wenn wir eine endgültige Entität sowohl aus der Autoklasse als auch aus der Rennklasse ableiten, ergibt dies eine kombinierte Ausgabe. Dieses Derivat ist Ferrari – der Rennwagen.

Hier ist ein einfaches Programm, um das Konzept der hybriden Vererbung in C++ zu veranschaulichen .

Der Beispielcode

Die Ausgabe

Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

Ich hoffe, dieser Artikel hat Ihnen geholfen, das Konzept und die Typen der Hybridvererbung in C++ zu verstehen . Studenten im Stream von Computer- und Computerprogrammen können ihre Fähigkeiten und ihre technische Glaubwürdigkeit verbessern, z. B. OOP-Konzepte. upGrad stellt Ressourcen und eine Wissensbasis bereit, um solche Fachleute zu ermutigen, Fachwissen in der Programmierung zu erwerben und sich auf dem Industriemarkt zu behaupten. Bei upGrad haben Sie auch die Möglichkeit, sich mit professionellem Networking und der Entwicklung von Fähigkeiten zu beschäftigen.

Wir hoffen, dass Sie eine hervorragende Gelegenheit zum Lernen bei der Ausführung dieser C++-Projekte haben werden. Wenn Sie daran interessiert sind, mehr zu erfahren und Mentoring von Branchenexperten benötigen, sehen Sie sich das Executive PG-Programm in Full-Stack-Softwareentwicklung von upGrad & IIIT Banglore an.

Was ist Vererbung in der objektorientierten Programmierung?

Vererbung ist ein Mechanismus zur Wiederverwendung von Code und hilft bei der Simulation der realen Welt. Es erweitert das Konzept der Datenabstraktion in OOP. Es ist der Prozess, durch den eine Klasse die Eigenschaften einer anderen Klasse erwirbt. Es ist grundlegend in OOP, dass eine Klasse nur in Bezug auf eine andere Klasse definiert werden kann. Das liegt am Konzept der Abstraktion. Vererbung ist ein Mechanismus, der neue Objektklassen in derselben Klassenhierarchie wie andere Objekte erstellt. Der Hauptvorteil der Vererbung ist die Wiederverwendung von Code. Es ist eine Möglichkeit, Code wiederzuverwenden. Wenn Sie eine Klasse haben und diese einen bestimmten Job erledigt, können Sie sie auch für einen anderen Job verwenden. Sagen Sie einfach, ein Auto und ein Lastwagen erledigen die gleiche Arbeit, sodass Sie denselben Code verwenden können, um sie zu fahren.

Was sind die 3 Vererbungsbereiche in C++?

Die Vererbungsbereiche in C++ sind privat, geschützt und öffentlich. Private Vererbung bedeutet, dass eine Klasse von einer anderen Klasse geerbt wird, aber außerhalb der Klasse nicht auf die abgeleitete Klasse zugegriffen werden kann. Diese Vererbungstypen können nur verwendet werden, wenn auf die Basisklasse nicht außerhalb der Klasse zugegriffen werden soll. Geschützte Vererbung wird verwendet, wenn auf die Basisklasse nicht außerhalb der Klasse zugegriffen werden soll und außerhalb der Klasse darauf zugegriffen werden soll. Öffentliche Vererbung wird verwendet, wenn auf die Basisklasse außerhalb der Klasse zugegriffen werden soll.

Was ist Mehrfachvererbung in C++?

Mehrfachvererbung ist die Fähigkeit, eine Klasse von mehr als einer Klasse abzuleiten. Dieses Feature ist in C nicht verfügbar. Dies ist eines der wichtigsten Features von C++, das die objektorientierte Programmierung unterstützt. Die Implementierung der Mehrfachvererbung in C++ basiert auf dem Konzept der Vererbungsklassen. Mehrfachvererbung ist ein Mechanismus, der ein objektorientiertes Programmiermodell unterstützt, das verwendet werden kann, um einige Probleme zu lösen, wie z. B. die Wiederverwendung von Verhaltensweisen und die Wiederverwendung von Code. Die Wiederverwendung von Code war in C++ schon immer ein Problem, da C++ nur einfache Vererbung unterstützt. Mehrfachvererbung wird erreicht, indem mehrere Schnittstellen zu einem Objekt kombiniert werden.