Was ist eine Basisklasse?
Eine Basisklasse ist eine Klasse in einer objektorientierten Programmiersprache, von der andere Klassen abgeleitet werden. Es erleichtert die Erstellung anderer Klassen, die den implizit von der Basisklasse geerbten Code (außer Konstruktoren und Destruktoren) wiederverwenden können. Ein Programmierer kann die Funktionalität der Basisklasse erweitern, indem er Elemente hinzufügt oder überschreibt, die für die abgeleitete Klasse relevant sind.
Eine Basisklasse kann auch als Elternklasse oder Superklasse bezeichnet werden.
Eine von einer Basisklasse abgeleitete Klasse erbt beide Datenund Verhalten. Zum Beispiel kann ‚Fahrzeug‘ eine Basisklasse sein, von der ‚Auto‘ und ‚Bus‘ abgeleitet werden. Autos und Busse sind beide Fahrzeuge, aber jedes repräsentiert eine eigene Spezialisierung der Fahrzeugklasse.
Eine Basisklasse hat folgende Eigenschaften:
Basisklassen werden automatisch vor abgeleiteten Klassen instanziiert.
Die abgeleitete Klasse kann während der Instantiierung mit der Basisklasse kommunizieren, indem sie den Basisklassenkonstruktor mit einer passenden Parameterliste aufruft.
Auf Basisklassenmitglieder kann über eine explizite Umwandlung von der abgeleiteten Klasse zugegriffen werden.
Wenn abstrakte Methoden in einer Basisklasse definiert sind, wird diese Klasse als abstrakte Klasse betrachtet und die nicht abstrakte abgeleitete Klasse sollte diese Methoden überschreiben.
Abstrakte Basisklassen werden mit dem Schlüsselwort ‚abstract‘ in ihrer Deklaration erstellt und dienen dazu, eine direkte Initiierung mit dem Schlüsselwort ’new‘ zu verhindern.