C++-Programmierung/ Objektorientierte Programmierung/ Private und geschützte Vererbung
Einleitung
BearbeitenBis jetzt haben wir alle Vererbungen mit dem Schlüsselwort public
vorgenommen (dies wird „öffentliche Vererbung“ genannt). Nun werden wir lernen, was passiert, wenn statt public
private
bzw. protected
verwendet wird.
Private Vererbung
BearbeitenVerwenden wir private
, so bedeutet dies, dass alle geschützten und öffentlichen Membervariablen bzw. Memberfunktion aus der Basisklasse privat werden, von außen also nicht sichtbar sind.
Wenn kein Schlüsselwort zur Ableitung angegeben wird, handelt es sich automatisch um private Vererbung.
Geschützte Vererbung
BearbeitenGeschützte Vererbung verläuft analog zur privaten Vererbung und sagt aus, dass alle geschützten und öffentlichen Member der Elternklasse im Bereich protected
stehen.
Wann wird was benutzt?
BearbeitenUm festzustellen wann welche Art von Vererbung eingesetzt wird, gibt es zwei unterschiedliche Arten wie eine abgeleitete Klasse im Verhältnis zu ihrer Basisklasse stehen kann.
- ist-Beziehung: "Klasse B ist eine Klasse A" → Klasse B erbt
public
von A. (Beispiel: Ein Arbeiter ist eine Person) - hat-Beziehung: "Klasse B hat ein Klasse A Objekt" → Klasse B erbt
private
von A. (Beispiel: Ein Mensch hat ein Herz)
Meistens wird mithilfe von public
vererbt. Andere Typen von Vererbung werden nur selten bis gar nicht benutzt. Oft ist es sinnvoll statt einer privaten Vererbung ein Memberobjekt der entsprechenden Klasse zu verwenden.