Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:archiv:m320:learningunits:lu98:theorie:lu6-kapitel_1 [2026/08/30 14:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | modul:archiv:m320:learningunits:lu98:theorie:lu6-kapitel_1 [2026/08/30 14:09] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 74.7.243.195 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ===== 1. Komposition und Aggregation ===== | ||
| + | |||
| + | ==== Beziehungsarten ==== | ||
| + | |||
| + | Komposition und Aggregation repräsentieren jeweils ein Ganzes und seine Teile. Sie ergänzen damit die Assoziationen resp. Beziehungsarten, | ||
| + | |||
| + | ^Assoziation^Beispiel (siehe Abb. 1) ^ | ||
| + | |Allgemein | ||
| + | |Einseitig | ||
| + | |Zweiseitig |Kunde - Konto | | ||
| + | |Komposition|Blume - Blüte, Wurzel | ||
| + | |Aggregation|Lampe - Fassung, Leuchtkörper| | ||
| + | |||
| + | {{modul: | ||
| + | //Abb. 6.1:// Beispiele von verschiednenen Assoziationen | ||
| + | |||
| + | === Teile-Ganzes Beziehung === | ||
| + | |||
| + | - Komposition: | ||
| + | - Aggregation: | ||
| + | |||
| + | {{modul: | ||
| + | //Abb. 6.2:// Beispiele für Komposition und Aggregation | ||
| + | |||
| + | === Notation === | ||
| + | |||
| + | * Die Raute gehört auf die Seite des Ganzen. | ||
| + | * Der Pfeil auf der Seite der Teile ist optional (siehe Blüte und Leuchtkörpen in Abb. 1). | ||
| + | * Er sollte jedoch entweder für alle Teile gezeichnet oder aber konsequent weggelassen werden (d.h. nicht so machen wie in Abb. 1 😉) | ||
| + | |||
| + | ==== Was ist eine Aggregation resp. Aggregat? ==== | ||
| + | |||
| + | **Aggregation** ist der Sonderfall einer gerichteten Assoziation. Sie drückt ein starkes Verhältnis von zwei an sich **selbständigen Objekten** aus, von denen eines **Teil des** anderen ist. | ||
| + | |||
| + | {{modul: | ||
| + | //Abb. 6.3:// Umsetzung Aggregation (d.h. eigenständige Referenzen und zufügen der Komponenten über set Methode resp. Property) | ||
| + | |||
| + | === Eigenschaften === | ||
| + | |||
| + | * Komponente kann (zusätzlich) einem anderen Aggregat derselben Klasse zugeordnet oder einer anderen Klasse zugeordnet sein | ||
| + | * Komponente existiert unabhängig vom Aggregat | ||
| + | |||
| + | ==== Was ist eine Komposition? | ||
| + | |||
| + | Die Spezialform eines Aggregats, welches wie bereits erwähnt aus **existenziell abhängigen** Komponenten besteht, nennt man **Komposition**. Sie wird auch als “echte Aggregation” bezeichnet und übernimmt die dynamische Weiterleitung von Botschaften an ihre Komponenten. | ||
| + | |||
| + | {{modul: | ||
| + | //Abb. 6.4:// Umsetzung Komposition (d.h. keine eigenständige Referenzen und Objekte im Konstruktor erzeugen) | ||
| + | |||
| + | === Eigenschaften === | ||
| + | |||
| + | * Erzeugung der Komposition erzeugt auch deren Komponenten | ||
| + | * Löschung der Komposition löscht auch deren Komponenten | ||
| + | |||
| + | === Rückblick Delegation === | ||
| + | |||
| + | In der LU05 haben Sie zum Thema // | ||
| + | |||
| + | {{modul: | ||
| + | //Abb. 6.5:// Komposition eines Vierecks | ||
| + | |||
| + | ---- | ||
| + | Quellen: | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||