Java-Kurs - 8. Übung Klassen und Objekte: Vererbung Konzeptueller Hintergrund: Spezialisierung Modellierung mittels UML Vererben von Variablen Vererben von Methoden Überlagerung von Methoden Zugriff auf überlagerte Methoden
Übungsaufgabe vom 17. 11. Entwerfen Sie die Klasse Student, die alle zur Verwaltung eines Studentenregisters wesentlichen Informationen beinhaltet. Welche Methoden können Sie sich dazu vorstellen? Welche Informationen (Variablen & Methoden) sind auch auf Dozenten oder Verwaltungsangestellte anwendbar?
Klassenhierarchien konzeptueller Hintergrund: Generalisierung Spezialisierung Spezifikation in UML (Unified Modeling Language): Abstraktion
Klassenhierarchien in Java Syntax: class Unterklasse extends Oberklasse { . . . } Beispiel: class Auto { class Rennwagen extends Auto {
Vererbung Eine Unterklasse erbt alle Eigenschaften ihrer Oberklassen Eine Unterklasse erbt alle Variablen ihrer Oberklassen Eine Unterklasse erbt alle Methoden ihrer Oberklassen
Überlagerung Methoden einer Unterklasse können gleichnamige Methoden aus den Oberklassen überlagern Zweck: Unterklassen modellieren speziellere Objekte; Methoden der Oberklasse müssen häufig ebenfalls spezialisiert werden Zugriff: im Normalfall wird die speziellste Methode verwendet expliziter Aufruf einer überlagerten Methode Name der Oberklasse mittels: super.Name(. . .);
Übungsaufgabe Ergänzen Sie die vorgestellten Klassen „Person“ und „Student“ um die Unterklassen „Dozent“ und „Verwaltungsangestellter“. Die Unterklasse „Dozent“ soll dabei noch weiter in „Professor“ und „Assistent“ unterschieden werden.