Woche 7: Interfaces, Arrays mit Objekten & Überladen von Konstruktoren
Nach dieser Woche können Sie …
- Interfaces nach vorgegebenen Spezifikationen definieren
- ein vorgegebenes Interface in einer Klasse implementieren
- Variablen mit Interface-Typ verwenden
- Polymorphie benutzen, um redundanten Code zu vermeiden
- Klassen entwerfen, um Objekte der realen Welt abzubilden
- überprüfen, ob eine Variable mit Objekt-Typ eine Null-Referenz enthält
- Konstruktoren überladen.
Interfaces werden in der Java-Welt täglich benutzt, da es sehr oft gar nicht entscheidend ist, wie etwas in einer Klasse implementiert ist, sonder nur, dass bestimme Methoden implementiert sind. In der Vorlesung Programmierung schauen wir uns ein paar Anwendungsfälle von Interfaces an, um uns an die Verwendung zu gewöhnen. Aber quasi täglich und in verschiedenen Situationen werden Sie mit Interfaces im Programmierpraktikum arbeiten – für die sehr Neugiergen von Ihnen haben wir auch ein paar Zusatzvideos in den kommenden Wochen, in denen wir diese weiterführenden (aber in diesem Semester noch nicht klausurrelevanten) Techniken vorstellen. Interfaces sind verwandt mit dem Konzept der Vererbung, das wir uns später anschauen werden.
Falls Sie die Themen dieser Woche nochmal in der Literatur nachlesen wollen, können Sie sich die Abschnitte 7.7.1–7.7.4 (Interfaces), 3.7.1 (null), 6.5.4, 6.5.6 (Konstruktoren) in Java ist auch eine Insel ansehen.
Vorlesung
Interfaces & Polymorphie
Legen Sie eine Klasse mit einer finalen Objektvariablen private final int[] array
an. Können Sie folgenden Code in den Konstruktor schreiben? Wo gibt es Probleme?
array = new int[]{1, 2};
array[0] = 5;
array = new int[]{10, 20};
Arrays von Objekten & null
Ergänzen Sie die BouncingObjects um fliegende Dreiecke oder andere Formen.
🗃️ Selbsttests
4 Einträge
🗃️ Zusatzvideos
2 Einträge
🗃️ Videos für Profis
1 Einträge
Adele Goldberg, Alan Kay und Dan Ingalls (alle noch lebendig) waren an der Entwicklung von Smalltalk, eine der ersten objektorientierten Programmiersprachen (1972), beteiligt. Smalltalk ist eine reine objektorientierte Sprache, d. h. anders als in Java sind auch Integer, Character usw. Objekte. Kay hat 2003 u. a. für die Arbeit im Feld der objektorientierten Programmierung den Turing Award erhalten.