Post on 06-Apr-2015
transcript
Tutorium PG204.06.2013
Verbesserung Blatt 5
Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben. Des Weiteren soll auch ein „leeres“ Fahrrad erstellt und die Eigenschaften zu einem späteren Zeitpunkt festgelegt werden können.
Verbesserung Blatt 5
Konstruktor in jeder Klasse notwendigABER: Unbedingt Konstruktor der
Basisklasse verwenden!
Unübersichtlicher Code ohne super Konstruktor
Übersichtlicher und vermeiden von Redunanz
Scanner vermeiden wenn nicht gefordert
Implementieren Sie die Klassen und erstellen Sie ein Testprogramm mit dem Sie z.B. 10 Fahrräder in einer einzigen Liste anlegen und anschließend in der Konsole ausgeben
Verbesserung Blatt 6
Klassendiagramm
compareTo – 6.2
Comparable<T>
Comparable<T> - Generics
Comparable ist generisch für alle Typen verwendbar
Für solche Zwecke: Generics-Konzeptviele Interfaces & Klassen sind generischZ.B. auch ArrayList<T>
Klasse ohne generischen Typ
CompareTo braucht OBJECT!
Klasse mit generischen Typ
Fazit:◦Generisches Konzept spart Programmierarbeit◦Für späteren Beruf im Kopf behalten
6.4 – Zweites Sortierkriterium
compareTo - Alt
compareTo - Neu
Zweites Sortierkriterium
Fazit:◦Dort wo beide Objekte gleich sind◦ nächstes Sortierkriterium anwenden◦Wenn this.preis == other.preis
könnte man z.B. Bezeichnung vergleichen etc.
6.5 Suche nach Namen
6.6
6.6 Beispiel mit intern()
Benutzen der Liste
Problem:◦Regal soll ein Handy liefern, wie auf
Eigenschaften zugreifen?
Benutzen der Liste – Die Klassen
KindZweiAttribut unbekannt?
In „vaterListe“ können beliebige Klassen bzw. Instancen abgelegt werden
Sie müssen lediglich von „Vater“ erben
Java kann gar nicht entscheiden, welche konkrete Klasse der Entwickler will
Cast notwendig
Cast notwendig