Tutorium PG2

Preview:

DESCRIPTION

Tutorium PG2. 04.06.2013. 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. - PowerPoint PPT Presentation

Citation preview

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

Recommended