Advanced Java Services | Vererbung |
C++ bietet den Entwicklern bei der Vererbung mehr Möglichkeiten als andere objektorientierte Sprachen. Wie praktisch in allen objektorientierten Sprachen bestimmt zunächst der Entwickler der Basisklasse das Design der Klasse mit den Zugriffsmodifizierern public, protected und private. private Elemente sind weder für die Kindklasse noch von außen sichtbar obwohl sie in den Kindklassen existieren. protected Elemente sind in der Kindklasse sichtbar aber nicht von außen erreichbar. public-Elemente schließlich sind inder Kindklasse und von außen sichtbar.
Anders als in C# oder Java kann der Entwickler einer Kindklasse bestimmen wie er mit den von der Basisklasse geerbten und sichtbaren Elementen weiter verfährt. Er kann nämlich die Sichtbarkeit der geerbten Elemente einschränken. Damit bestimmt er entscheidend, was Klassen, die wiederum von der Kindklasse erben sehen können und ebenso, welche Elemente von außen sichtbar sind. Entscheidet er sich für die public-Vererbung, so übernimmt er die public- und protected Elemente ohne Änderung der Sichtbarkeit. Entscheidet er sich für die protected-Vererbung, so erhalten alle geerbten public-Elemente in der Kindklasse den Schutzzustand protected und sind daher nur in der Kindklasse selbst sichtbar aber nicht mehr von außen. Beir der private-Vererbung erhalten alle geerbten public- und protected-Elemente den Schutzzustand private und sind damit werde von außen noch von zukünftigen Kindklassen seiner Kindklasse sichtbar.