Was ist der Unterschied zwischen Basisklasse und abgeleiteter Klasse in C++?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen Basisklasse und abgeleiteter Klasse in C++ ist das Basisklasse ist die bereits vorhandene Klasse, während abgeleitete Klasse die Klasse ist, die die Eigenschaften und Methoden der Basisklasse erben kann.

C++ ist eine allgemeine Programmiersprache auf hoher Ebene, die von Bjarne Stroustrup bei Bell Labs entwickelt wurde. Es ist eine Obermenge der C-Sprache. Der Programmierer kann mit C++ Konzepte der objektorientierten Programmierung (OOP) implementieren. OOP hilft, auf einfache Weise Lösungen für reale Szenarien zu finden. Es gibt verschiedene Konzepte in OOP. Einer davon ist das Erbe. Vererbung in C++ bezieht sich auf den Prozess, einer Klasse zu erlauben, Eigenschaften und Methoden einer bereits existierenden Klasse zu verwenden. Der Hauptvorteil der Vererbung besteht darin, dass sie die Wiederverwendbarkeit von Code unterstützt.

Basisklasse, C++, abgeleitete Klasse, Vererbung, OOP

Was ist Basisklasse in C++?

Bei der Vererbung ist die bereits vorhandene Klasse die Elternklasse oder die Oberklasse. Wir nennen sie auch die Basisklasse. Die Member in einer Klasse können Zugriffsmodifizierer wie private, public und protected haben. Auf die privaten Member kann innerhalb derselben Klasse zugegriffen werden, während auf die öffentlichen Member von jeder Klasse zugegriffen werden kann. Auf die geschützten Member kann jedoch innerhalb der Klasse und durch ihre Unterklassen zugegriffen werden. Daher kann die abgeleitete Klasse auf die öffentlichen und geschützten Member der Basisklasse zugreifen, jedoch nicht auf die privaten Member.

Was ist eine abgeleitete Klasse in C++?

Abgeleitete Klasse ist die Klasse, die die Eigenschaften und Methoden einer bereits vorhandenen Klasse verwenden kann. Es ist eine neue Klasse. Wir nennen es auch untergeordnete Klasse oder Unterklasse.

Abbildung 1: C++-Programm mit Basis- und abgeleiteten Klassen

Im obigen Programm ist Fahrzeug eine Klasse. Es verfügt über eine öffentliche Methode namens VehicleDetails. Car ist eine weitere Klasse, die über eine öffentliche Methode namens carDetails verfügt. Diese Klassen sind durch Vererbung verbunden. Vehicle ist die Basisklasse, während Car die abgeleitete Klasse ist. Daher kann die Car-Klasse sowohl ihre eigene Methode (carDetails) als auch die Methode der Basisklasse (vehicleDetails) verwenden.

In C++ gibt es verschiedene Arten der Vererbung.

Abbildung 2: Vererbungsarten

Einzelvererbung – Es ist eine einfache Art der Vererbung. Abgeleitete Klasse erbt nur von einer Basisklasse. A ist die Basisklasse, während B die abgeleitete Klasse ist.

Mehrfachvererbung – Abgeleitete Klasse erbt von zwei oder mehr Basisklassen. A und B sind Basisklassen, während C eine abgeleitete Klasse ist.

Hierarchische Vererbung – Viele abgeleitete Klassen erben von einer einzigen Basisklasse. A ist die Basisklasse. B, C, D sind abgeleitete Klassen.

Mehrstufige Vererbung – Abgeleitete Klasse erbt von einer Klasse, und diese Klasse erbt von einer anderen Klasse. A ist die Basisklasse von B. B ist die Basisklasse von C. C ist die abgeleitete Klasse von B. B ist die abgeleitete Klasse von A.

Hybride Vererbung – Es ist eine Kombination mehrerer Vererbungsarten. B, C sind abgeleitete Klassen von A. D ist die abgeleitete Klasse von B und C.

Unterschied zwischen Basisklasse und abgeleiteter Klasse in C++

Definition

Die Basisklasse ist eine Klasse, die beim Ableiten oder Erstellen neuer Klassen hilft, während die abgeleitete Klasse eine Klasse ist, die von einer bereits vorhandenen Klasse erstellt oder abgeleitet wird. Dies ist also der Hauptunterschied zwischen Basisklasse und abgeleiteter Klasse.

Synonyme

Die Basisklasse wird auch als Elternklasse oder Superklasse bezeichnet, während die abgeleitete Klasse auch als Kindklasse oder Unterklasse bezeichnet wird.

Nachlass

Die Vererbung ist ein wesentlicher Unterschied zwischen Basisklasse und abgeleiteter Klasse. Die Basisklasse kann keine Eigenschaften und Methoden der abgeleiteten Klasse erben. Die abgeleitete Klasse kann jedoch die Eigenschaften und Methoden der Basisklasse erben.

Abschluss

Vererbung ermöglicht es dem Programmierer, Mitglieder einer vorhandenen Klasse in eine neue Klasse zu vererben. Der Hauptunterschied zwischen Basisklasse und abgeleiteter Klasse in C++ besteht darin, dass die Basisklasse die bereits vorhandene Klasse ist, während die abgeleitete Klasse die Klasse ist, die die Eigenschaften und Methoden der Basisklasse erben kann. Mit anderen Worten, die Basisklasse ist die alte Klasse, während die abgeleitete Klasse die neue Klasse ist.

Referenz:

1. „C-Vererbung – Javatpoint.“ www.javatpoint.com, hier verfügbar.2. „Arten der Vererbung in C.“ Arten der Netzwerktopologie in Computernetzwerken | Studytonight, hier erhältlich.

Was ist der Unterschied zwischen Basisklasse und abgeleiteter Klasse in C++?