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?