5.2 Zugriffsrechte und Vererbung
Als "Status" der Basisklasse wird beschrieben, welche Komponenten von ihr nach der Ableitung aus der abgeleiteten und von weiteren abgeleiteten Klassen genutzt werden kann. Der Status kann die Werte private (default), protected oder public haben.
public Ableitung:
  • die abgeleitete Klasse ist eine Erweiterung der Basisklasse (Vereinigung)
  • die Zugriffsrechte der Basisklasse werden nicht verändert
  • die abgeleitete Klasse kann auf alle protected- oder public-Komponenten zugreifen
  • die Methoden beider Klassen werden angeboten
  • ggf. sind einzelne Funktionen überladen.

protected Ableitung:
  • public Komponenten der Basisklasse werden protected
  • protected Komponenten der Basisklasse werden private
  • die abgeleitete Klasse kann nur auf die public-Komponenten der Basisklasse zugreifen.

private Ableitung::
  • die abgeleitete Klasse versteckt die Basisklasse (Überdeckung)
  • alle Komponenten der Basisklasse sind private
  • die abgeleitete Klasse kann auf alle protected- oder public-Komponenten zugreifen
  • sollen Funktionen der Basisklasse verfügbar sein, so müssen diese durchgereicht werden.