tutorium pg2 04.06.2013. verbesserung blatt 5 beim instanziieren eines fahrrades muss es möglich...
TRANSCRIPT
![Page 1: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/1.jpg)
Tutorium PG204.06.2013
![Page 2: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/2.jpg)
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.
![Page 3: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/3.jpg)
Verbesserung Blatt 5
Konstruktor in jeder Klasse notwendigABER: Unbedingt Konstruktor der
Basisklasse verwenden!
![Page 4: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/4.jpg)
Unübersichtlicher Code ohne super Konstruktor
![Page 5: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/5.jpg)
Übersichtlicher und vermeiden von Redunanz
![Page 6: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/6.jpg)
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
![Page 7: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/7.jpg)
Verbesserung Blatt 6
![Page 8: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/8.jpg)
Klassendiagramm
![Page 9: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/9.jpg)
compareTo – 6.2
![Page 10: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/10.jpg)
Comparable<T>
![Page 11: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/11.jpg)
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>
![Page 12: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/12.jpg)
Klasse ohne generischen Typ
![Page 13: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/13.jpg)
CompareTo braucht OBJECT!
![Page 14: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/14.jpg)
Klasse mit generischen Typ
![Page 15: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/15.jpg)
Fazit:◦Generisches Konzept spart Programmierarbeit◦Für späteren Beruf im Kopf behalten
![Page 16: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/16.jpg)
6.4 – Zweites Sortierkriterium
![Page 17: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/17.jpg)
compareTo - Alt
![Page 18: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/18.jpg)
compareTo - Neu
![Page 19: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/19.jpg)
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.
![Page 20: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/20.jpg)
6.5 Suche nach Namen
![Page 21: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/21.jpg)
6.6
![Page 22: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/22.jpg)
6.6 Beispiel mit intern()
![Page 23: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/23.jpg)
Benutzen der Liste
Problem:◦Regal soll ein Handy liefern, wie auf
Eigenschaften zugreifen?
![Page 24: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/24.jpg)
Benutzen der Liste – Die Klassen
![Page 25: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/25.jpg)
KindZweiAttribut unbekannt?
![Page 26: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/26.jpg)
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
![Page 27: Tutorium PG2 04.06.2013. Verbesserung Blatt 5 Beim instanziieren eines Fahrrades muss es möglich sein, alle benötigten Attribute dem Konstruktor zu übergeben](https://reader036.vdocuments.site/reader036/viewer/2022070310/55204d7e49795902118cebe7/html5/thumbnails/27.jpg)
Cast notwendig