Die Aufgabe
Aufgabe 3
Gegeben sind die Klassen „StudierendePerson“ und „StudiumApp“.
Erweitern Sie diese Klassen folgendermaßen:
a) Speichern Sie in der Klasse „StudiumApp“ die StudierendePerson-Objekte in einem Array und geben Sie alle Informationen zu jeder studierenden Person aus.
b) Im Moment haben alle Studierenden die Matrikelnummer 0. Es soll jedes Studierendenobjekt beim Anlegen automatisch eine eigene Matrikelnummer erhalten. Die Matrikelnummern werden in fortlaufender Reihenfolge vergeben (1, 2, 3, …).
Zum Generieren der Nummern könnte es nützlich sein, ein Klassenattribut (d. h. ein als „static“ gekennzeichnetes Attribut) zu verwenden.
c) Neben Studierenden soll es auch Studiengänge geben, wobei jeder Studiengang über eine Bezeichnung, einen Abschluss (z. B. „Bachelor“) und das Jahr der letzten Reakkreditierung verfügt. Erstellen Sie die Klasse „Studiengang“.
Jedes Studierendenobjekt bekommt einen Studiengang zugeordnet. Erweitern Sie die Klasse StudierendePerson und ergänzen Sie ggf. die Konstruktoraufrufe in „StudiumApp“.
d) Erweitern Sie die toString-Methode der Klasse „StudierendePerson“ so, dass auch die Bezeichnung ihres Studiengangs, sowie der zugehörige Abschluss und das Jahr der letzten Reakkreditierung mit ausgegeben werden.
Die toString-Methode in „StudierendePerson“ soll keine getter-Methoden aufrufen und auch nicht direkt auf Attribute von Studiengang zugreifen.
e) Nun soll es weiterhin möglich sein, das Jahr der letzten Reakkreditierung eines Studiengangs zu ändern. Erweitern Sie den Code entsprechend und zeigen Sie, dass eine Änderung des Reakkreditierungsjahres für alle Studierenden des jeweiligen Studiengangs wirksam ist.
Die vorgegebenen Klassen liegen uns nicht vor. Wir bauen sie aus der Musterlösung nach: StudierendePerson hat Matrikelnummer, Vorname, Nachname, Geschlecht und Startsemester. Der Konstruktor setzt die Matrikelnummer auf 0. Rechts steht jede Datei schon in ihrer fertigen Form.
Eine Reakkreditierung ist die wiederholte offizielle Prüfung eines Studiengangs. Gespeichert wird nur ihr Jahr.
- a) Personen in ein Array, alle ausgeben.
- b) Fortlaufende Matrikelnummern mit einem static-Zähler.
- c) Klasse Studiengang; jede Person bekommt einen.
- d) toString gibt auch den Studiengang aus.
- e) Jahr ändern: alle Studierenden des Studiengangs sehen es.