Zum Hauptinhalt springen

Woche 11: super, abstract & Hiding

Weihnachtsferien

Am Sonntag, 24.12.2023, beginnen die Weihnachtsferien; sie enden am Sonntag, 07.01.2024. Die erste Vorlesung nach den Ferien ist am Montag, 08.01.2024.

Nutzen Sie die Ferien, um sich eine Zusammenfassung des bisherigen Stoffs zu erstellen und sich ein wenig auszuruhen.

Nach dieser Woche können Sie …

  • Abstrakte Klassen nach Vorgaben erstellen
  • einfache Gegebenheiten der echten Welt objektorientiert modellieren
  • Konstruktoren der Oberklasse aufrufen
  • den Unterschied zwischen „Überladen durch Vererbung“ und „Überschreiben“ erklären
  • den Unterschied zwischen „Überschreiben“ und „Hiding“ erklären
  • erklären, warum der Zugriff auf statische Variablen/Methoden über Instanzen verwirrend sein kann

In dieser Woche schließen wir das Thema Vererbung ab und beantworten folgende Fragen: Wie können Konstruktoren der Oberklasse aufgerufen werden? Kann man verhindern, dass Instanzen einer (für sich genommen sinnlosen) Oberklasse erzeugt werden können? Kann man eigentlich auch Variablen überschreiben?

Literatur

Falls Sie die Themen dieser Woche nochmal in der Literatur nachlesen wollen, können Sie sich die Abschnitte 7.2.6 (super), 7.6 (abstrakte Klassen) und 7.5.5 (Hiding) in Java ist auch eine Insel ansehen.

Vorlesung

Abstrakte Klassen & Super-Konstruktoren

Finale Klassen, Überladen, Hiding

Ausführen der automatischen Tests auf dem eigenen Rechner

Videoanleitung

Wenn Sie alte Aufgaben nochmal zum Üben bearbeiten und dafür die automatischen Tests durchlaufen lassen wollen, gehen Sie wie folgt vor:

Fall 1: Übungsaufgabe nicht über Classroom abgegeben
Nutzen Sie den Abgabelink auf dem Übungsblatt und folgen Sie dem normalen Ablauf für eine Abgabe bis zu der Stelle, wo Sie die Datei hochladen würden. Machen Sie dann weiter mit den Schritten „Fall 2: Übungsaufgabe bereits über den Classroom abgeben“.
Fall 2: Übungsaufgabe bereits über den Classroom abgeben
  1. Gehen Sie auf https://github.com/hhu-progra/ bzw. für älte Aufgaben auf https://github.com/hhu-progra2/ und klicken Sie auf die gewünschte Aufgabe.
  2. Laden Sie Ihre Abgabe über Code → Download ZIP herunter und entpacken Sie die zip-Datei.
  3. Wechseln Sie im Terminal in den entpackten Ordner. Dort finden Sie Ihre abgegebenen Dateien, die Sie wie gewohnt mit Ihrem Editor bearbeiten und mit javac testen können.
  4. Um die automatischen Tests auszuführen, führen Sie nacheinander die Befehle cd test und ./gradlew test (bzw. unter Windows gradlew.bat test) aus.
  5. Denken Sie daran, ggf. wieder mit cd .. zurück in das Verzeichnis mit Ihren java-Dateien zu wechseln, wenn Sie javac nochmal ausführen wollen.
Berühmte Persönlichkeiten der Informatik

Barbara Liskov ist Professorin für Elektrotechnik am MIT. Sie war an der Entwicklung der Programmiersprachen CLU und Argus beteiligt, die als wichtige Meilensteine für Objekt-orientierte Programmierung bzw. verteilte Systeme (Computersysteme, deren Teile sich auf verschiedenen Computern befinden und die sich über ein Netzwerk austauschen) gelten. Sie hat eine besondere Definition von Subtyping mitentwickelt, die heute als das Liskovsche Substitutionsprinzip bekannt ist. 2008 wurde sie u. a. für Ihre Beiträge im Feld der Programmiersprachen mit dem Turing Award ausgezeichnet.