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:18] – Martin Pabst | diagrams:diagrams:aggregation:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 25: | Zeile 25: | ||
<WRAP center round info 80%> | <WRAP center round info 80%> | ||
**Aggregation und Komposition** \\ \\ | **Aggregation und Komposition** \\ \\ | ||
- | Enthält | + | Steht ein Objekt |
- | Falls ein Objekt andere Objekte nicht nur **enthält**, | + | Falls ein Objekt andere Objekte nicht nur **enthält**, |
{{ : | {{ : | ||
- | Die Unterscheidung zwischen Aggregation und Komposition ist oft sehr fein, im Grunde genommen hat es aber wenig Auswirkungen, | + | 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: | Die Klasse, deren Objekte die anderen Objekte enthalten, bekommt **entsprechende Attribute**. Im Falle der Rakete: | ||
<code learnj> | <code learnj> | ||
Zeile 41: | Zeile 41: | ||
</ | </ | ||
+ | ===== 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.1614532724.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)