Vererbung
Grundlagen
Vererbung ist ein grundlegendes Prinzip der objektorientierten Programmierung. Es können neue Klassen erstellt werden, die ausgehend von einer bestehenden Klasse Eigenschaften erben können. Die abgeleitete Klasse kann Variablen und Methoden der Ausgangsklasse bearbeiten oder neue hinzufügen.
Bei der Vererbung gibt es eine vererbende Klasse, die auch Superklasse oder Oberklasse heißt, und eine erbende Klasse, die auch Unterklasse oder abgeleitete Klasse genannt wird. Bei der Vererbung ist die Rede von einer "ist-ein" Beziehung. (z.B.: Pudel ist ein Hund), wobei "Pudel" die Unterklasse darstellt und Hund die Oberklasse.
Die Unterklasse erbt Daten und Methoden von der Oberklasse. Sie kann jedoch weitere Daten und Methoden enthalten, die keinen Bezug zur Oberklasse haben. Die Unterklasse kann nun selbst eine Unterklasse haben und wird dann zu deren Oberklasse.
Zugriffskontrolle
Es gibt verschiedene Vererbungsarten, die angeben ob die Elemente der Basisklasse abgeleitet werden oder nicht. Das jeweilige Schlüsselwort wird vor dem Namen der Basisklasse angegeben.
Vorsicht: Es können nur public oder protected Datenelemente aus der Oberklasse geerbt werden. private Datenelemente sind ausschließlich innerhalb der Klasse bekannt. Die Standard-Vererbungsart ist private, dieses Schlüsselwort kann also weggelassen werden.
Beispiel
class Hund {
private:
int gewicht;
public:
Hund();
Hund(int gw);
void setgewicht(int);
int getgewicht() const;
};
class Pudel : public Hund {
private:
int groesse;
public:
Pudel(int gw, int gr);
void setgroesse(int);
int getgroesse() const;
};
Verwendung
Pudel p(8, 50);
void main() {
cout << "Gewicht: " << p.getgewicht << endl; // Methode von Hund
cout << "Groesse: " << p.getgroesse << endl; // Methode von Pudel
}
keyboard_arrow_left | Vorheriger ArtikelKlassen und ObjekteKonstruktor, Destruktor, get-/set-Methoden, Beispiele |
Nächster ArtikelSortieralgorithmenBubblesort, Beispiele |