diagrams:diagrams:aggregation:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
diagrams:diagrams:aggregation:start [2021/02/28 18:08] – Martin Pabst | diagrams:diagrams:aggregation:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 23: | Zeile 23: | ||
+ | <WRAP center round info 80%> | ||
+ | **Aggregation und Komposition** \\ \\ | ||
+ | Steht ein Objekt mit anderen Objekten in Beziehung (insbesondere in einer " | ||
+ | Falls ein Objekt andere Objekte nicht nur **enthält**, | ||
+ | {{ : | ||
+ | Die Unterscheidung zwischen Aggregation und Komposition ist oft sehr fein, im Grunde genommen hat sie aber wenig Auswirkungen, | ||
+ | Die Klasse, deren Objekte die anderen Objekte enthalten, bekommt **entsprechende Attribute**. Im Falle der Rakete: | ||
+ | <code learnj> | ||
+ | class Rakete { | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | ===== Beispiel 1: ===== | ||
+ | Folgende Klassen sind gegeben. Zeichne das Klassendiagramm (ohne Attribute und Methoden)! \\ \\ | ||
+ | Lösung: Siehe Bild rechts. | ||
+ | {{ : | ||
+ | <code learnj> | ||
+ | class Bibliothek { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | class Buch { | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | } | ||
+ | |||
+ | class Person { | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Beispiel 2: ===== | ||
+ | Schreibe die Java-Klassen (ohne Methoden) zu folgendem Klassendiagramm: | ||
+ | Lösung: Siehe rechts. | ||
+ | {{: | ||
+ | <code learnj> | ||
+ | class PongSpiel { | ||
+ | Ball ball; | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | class Ball extends Circle { | ||
+ | |||
+ | } | ||
+ | |||
+ | class Schläger extends Rectangle { | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Aufgabe 1 ===== | ||
+ | Zeichne das Klassendiagramm (ohne Methoden) zu folgendem Programm: | ||
+ | <code learnj> | ||
+ | class Autospiel extends Actor { | ||
+ | Auto spieler1; | ||
+ | Auto spieler2; | ||
+ | } | ||
+ | class Auto { | ||
+ | | ||
+ | Rad radVorne; | ||
+ | Rad radHinten; | ||
+ | } | ||
+ | |||
+ | class Karosserie extends Rectangle { | ||
+ | |||
+ | } | ||
+ | |||
+ | class Rad extends Circle { | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | [[.aufgabe1: | ||
+ | |||
+ | ===== Aufgabe 2 ===== | ||
+ | Schreibe die Java-Klassen (ohne Methoden) zu folgendem Klassendiagramm: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | [[.aufgabe2: |
diagrams/diagrams/aggregation/start.1614532138.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)