Literatur

Was ist eine Vererbung?

Der Begriff Vererbung hört sich erstmal sehr familiär an. Man kann im weitesten Sinne unter Vererbung verstehen, dass etwas weiter gereicht wird. Im familiären Umfeld bekommen also Kinder etwas von Ihren Eltern oder gar Großeltern vererbt.

In der Objektorientierung wird eine Kindsklasse als Child- oder Subklasse bezeichnet, wohingegen die Elternklasse Parent- oder Superklasse genannt wird. Man spricht in der Objektorientierung von Vererbung, wenn eine Subklasse Attribute und Methoden von der Superklasse vererbt bekommt. Eine Subklasse besitzt sowohl alle Attribute und Methoden der Superklasse als auch eigene speziellere Attribute und Methoden, die die Subklasse näher beschreiben.

Die Superklasse ist also sehr allgemein gehalten, wohingegen die Subklasse eine spezielle Ausprägung der Superklasse ist. Eine Superklasse kann beliebig viele Subklassen haben. Als Beispiel lässt sich auch hier der Kugelschreiber anführen. Eine Superklasse könnte hier "Stift" lauten, der bereits die Attribute "Stiftfarbe" und "Schreibfarbe" hat. Die Kugelschreiber-Klasse ist eine Kindsklasse der Klasse "Stift" und erbt diese Attribute. Zusätzlich kommen noch Funktionen für das Ein- und Ausfahren der Kugeschreibermine hinzu. Die Klasse "Kugelschreiber" könnte selber wieder eine Superklasse von "Drehkugelschreiber" und "Druckkugelschreiber" sein. Die Hierarchie kann beliebig tief sein.

In der Programmiersprache Java kann allerdings eine Subklasse nur genau eine Superklasse besitzen. In der Programmiersprache C++ ist dies anders, da dort eine Subklasse von mehreren Superklassen erben kann.