03 Arbeiten mit Refe..

Transcription

03 Arbeiten mit Refe..
IV Interaktion
03 Arbeiten mit Referenzen
nach S. 113 /1a) Männermoden
Ein Anzug besteht aus Sakko, Weste und Hose.
 Gib das Klassendiagramm an.
Hans kauft sich einen Anzug und bezeichnet ihn mit
a1.
 Gib das Objektdiagramm an!
Lösung zur Aufgabe a)
b) Implementiere!
 Implementiere die Klassen für das Sakko, die Weste
und die Hose.
 Implementiere eine Klasse für den Anzug.
Wie muss man vorgehen, um einen
Anzug zu erzeugen?
 Erzeuge zuerst
 ein Sakko sakko1
 eine Hose hose1
 eine Weste weste1
 Erzeuge dann den Anzug mit
 new Anzug(sakko1,hose1,weste1);
Einfacher: Man lässt erzeugen!
Beispiel: Zwei Brüder (03Anzug_2)
 Erzeuge ein Objekt „zweiBrüder“
 Inspiziere jeweils die Anzüge!
 Erstelle ein
Objektdiagramm!
Zwillinge
Beispiel: Zwillinge (03Anzug_3)
 Erzeuge ein Objekt „Zwillinge“
 Finde den Unterschied zu den zwei Brüdern!
 Was ändert sich im Objektdiagramm?
Ausschnitt aus dem Objektdiagramm
a1: Anzug
w1:
Weste
a2: Anzug
w2:
Weste
zweiBrüder
a1: Anzug
w2:
Weste
Zwillinge
a2: Anzug
Das Inspizieren ist mühsamInformationen müssen her!
 Jedes Sakko, jede Weste und jede Hose hat eine Methode
info()
Aufgabe:
Gib dem Anzug eine Methode info(),
der die Infos seiner Bestandteile‚
ausgibt.
Gib den zweiBrüdern, bzw.
den Zwillingen eine Methode info(),
der die Infos über die Anzüge ausgibt!
Flecken auf der Weste!
 In der Klasse zweiBrüder und der Klasse Zwilling
soll es nun eine Methode fleck() geben, die einen
Fleck auf die Weste des Anzugs a1 macht.
 Wo müssen nun überall Methoden hinzugefügt
werden?
Verwendung von Gettern und Settern!
 Wenn ein Attribut private gesetzt ist,
kann eine andere Klasse dieses Attribut nicht
verändern.
 Mit einer
Get-Methode
kann die Klasse
anderen Klassen
die Weste liefern!
Verwendung in der Klasse zwei Brüder:
Ergebnis:
Wie kommt nun der Fleck auf die
Weste?
 Die Weste braucht eine Set-Methode!
Endlich der Fleck!
Wie ist das bei den Zwillingen?
Beispiel: 03 Anzug_5
 Probiere es aus, wo liegt der Unterschied?
Ausschnitt aus dem Objektdiagramm
a1: Anzug
w1:
Weste
a2: Anzug
w2:
Weste
zweiBrüder
a1: Anzug
w2:
Weste
Zwillinge
a2: Anzug
Lies Seite 111
 Arbeiten mit Referenzen!
 Was ist der Unterschied zwischen Gleichartigkeit
und der Identität?
 Was bedeutet mehrfache Referenzierung?
Denke an unser Westenbeispiel!
Wie sieht das Ganze im Speichermodell aus?
Hans und Peter
Die Brüder Hans und Peter sind keine Zwillinge!
 Hans hat einen roten Anzug.
 Peter hat einen grünen Anzug.
Ändere die Klasse zwei Brüder entsprechend ab.
 Nun möchten Hans und Peter ihre Westen tauschen.
 Hans hat dann einen roten Anzug mit einer grünen
Weste.
 Peter einen grünen Anzug mit einer roten Weste.
Erstelle die Methode westentausch()!
Identität überprüfen Gleichartigkeit überprüfen
Mit == kann man auf Identität prüfen.
Beispiel: 03 Anzug_05
public void dieselbeWeste()
Aufgabe
Wie kann man prüfen, ob die beiden Westen
gleichartig sind?

Documents pareils