Beispiel 1: Impliziter Aufruf des parameterlosen Konstruktors der Oberklasse
In der Klasse Vereinsvorstand ist kein Konstruktor definiert. Daher erhält die Klasse automatisch einen parameterlosen Konstruktor. Dieser ruft automatisch den parameterlosen seiner Oberklasse Vereinsmitglied auf.
Beispiel 2: Impliziter Aufruf eines nicht vorhandenen parameterlosen Konstruktors der Oberklasse
In der Klasse Vereinsvorstand ist kein Konstruktor definiert. Daher erhält die Klasse automatisch einen parameterlosen Konstruktor. Dieser ruft automatisch den parameterlosen seiner Oberklasse Vereinsmitglied auf.
In der Klasse Vereinsmitglied existiert jedoch kein parameterloser Konstruktor. Daher führt der Versuch diesen aufzurufen zu einer Fehlermeldung.
Beispiel 3: Expliziter Aufruf eines Konstruktors der Oberklasse
In der Klasse Vereinsvorstand wird zum einen ein parameterloser Konstruktor definiert und zum anderen ein Konstruktor, der die Übergabe zweier Strings erwartet.
Der parameterlose Konstruktor ruft mit Hilfe der Anweisung super() den parameterlosen seiner Oberklasse Vereinsmitglied auf. Würde diese Anweisung nicht explizit angegeben, würde sie dennoch automatisch ausgeführt werden.
Der Konstruktor, der die Übergabe zweier Strings erwartet, ruft mit Hilfe der Anweisung super(pVorname, pNachname) den entsprechenden Konstruktor seiner Oberklasse Vereinsmitglied auf. Würde diese Anweisung nicht explizit angegeben, würde statt dessen automatisch der parameterlose Konstruktor der Oberklasse aufgerufen werden.
Aufgabe 10-5: Mitarbeiter und Auszubildende
Ein Unternehmen möchte für seine Auszubildenden zusätzlich zu den Daten, die es bereits für alle Mitarbeiter erfasst, die Bezeichnung des jeweiligen Ausbildungsberufs speichern.
UML-Klassenmodell und Quellcode der Klasse Mitarbeiter liegen bereits vor.
Die Klasse Mitarbeiter verfügt neben einem paramterlosen Konstruktor auch über einen Konstruktor, der die Übergabe des Vornamens und Nachnamens erwartet. Die Möglichkeiten, die dies eröffnet, sollen auch für Auszubildende gegeben sein.
Vervollständigen Sie das UML-Klassendiagramm entsprechend.
Lösung
Erstellen Sie auf Grundlage des Klassendiagramms aus Teilaufgabe a) den Quellcode.
Lösung