# Komposition oder Aggregation?



## che (5. Nov 2004)

Hallo!

Bin neu hier im Forum und platze direkt mal mit einer wichtigen Frage dich mich beschäftigt. Es geht um die Komposition. In der letzten Übung sollten wir aus dem Text eine UML-Klassendiagramm erstellen. Der Text lautet: 

Folgende Anforderungen geben die Struktur für ein Textverarbeitungssystem.
Ein Dokument des Systems kann sowohl Texte, wie auch Grafiken enthalten.
– Ein Text besteht aus wenigstens einem Absatz.
– Jeder Absatz besteht aus beliebig vielen Zeichen. Er enthält aber wenigstens ein Zeichen.
– Im Dokument werden Verwaltungsinformationen gespeichert. Dies sind Titel des
Dokuments, Autor, den Dateinamen und das Datum der letzen Änderung.
– Ein Dokument kann erzeugt oder editiert (verändert) werden.

So nun habe ich ein UML Diagramm erstellt was über 90 % richtig war, aber leider an einer Stelle anstatt Komposition die Aggregation bevorzugt habe. Es geht um den Textausschnitt:"Ein Dokument des Systems kann sowohl Texte, wie auch Grafiken enthalten." Also habe ich als Aggregat die Klasse Dokument gewählt(in UML:Route an der Klasse Dokument). Ich dachte mir, dass es eine Grafik geben kann, die mehreren Dokumenten zugeordnet werden kann. Leider musste ich feststellen, dass es dem nicht so ist ;(. Kann mir das jemand Java-Technisch erklären, warum eine Komposition an dieser Stelle muss. Bitte in einfachen Worten, damit ich es raffen kann.


----------



## Beni (5. Nov 2004)

che hat gesagt.:
			
		

> Ich dachte mir, dass es eine Grafik geben kann, die mehreren Dokumenten zugeordnet werden kann. Leider musste ich feststellen, dass es dem nicht so ist.



Wieso sollte das nicht so sein? 
Bestes Beispiel dass das geht sind Icons: du kannst ein Icon (was auch nur eine Graphik ist) auf verschiedenen Knöpfen sehen, und jedesmal ist es dieselbe Instanz...

Ich würde sagen: Musterlösung ist nicht korrekt.


----------



## ByteRix (5. Nov 2004)

ich denke Komposition wär in dem Fall schon richtig ohne Dokument würde es keinen Text oder Grafik geben oder nicht ?

bei einer Aggregation besteht das eine aus dem ander (könnte hier auch zutreffen aber ich find die Komposition logischer, denn ich finde dieser Fall ist schon "strenger" wie eine Aggregation deswegen Komposition)

mfg byte


----------



## che (6. Nov 2004)

Danke für eure Antworten! 



> Beni@Wieso sollte das nicht so sein?



Tjo, gute Frage. Unser Tutor hat es Java teschnich formuliert, was ich aber nicht ganz verstanden habe.



> ByteRix@ich denke Komposition wär in dem Fall schon richtig ohne Dokument würde es keinen Text oder Grafik geben oder nicht ?



Ist eigentlich logisch und diese Definition ist mir auch bewusst, aber wenn man Benis und meine Meinung berücksichtigt, dann müsste ein Objekt(z.B. Grafikobjekt) auch dann noch existieren, wenn Dokument gelöscht würde. Meine Begründung liegt darin das die Grafik auch unabhängig existieren kann, da sie noch woanders eingefügt werden kann. Bitte korrigiert mich, wenn ich falsch liegen


----------

