G
Guest
Gast
Hi zusammen,
folgende Frage habe ich bezüglich des Klassendiagramms:
Wo ist der konkrete Unterschied zwischen Assoziation, Aggregation und Komposition? Der Unterschied zwischen Aggregation und Komposion ist mir schon klar, allerdings wird mir der Unterschied zwischen den beiden anderen Begriffen nicht klar.
Angenommen es existieren die Objekte A, B und C.
Meine Annahme:
Aggregation
Bei einer Aggregation verweist Objekt A auf B, weil in Java Objekte nur auf andere Objekte refenzieren können und sie nicht diese nicht direkt enthalten können, richtig? Wieso eigentlich? ???:L
Objekt C verweist ebenfalls auf B.
Nun wird A zerstört. Zwar ist die Beziehung zwischen A und B zerstört, weil A zerstört wurde, aber es existiert immerhin noch die Beziehung C - B. Da B eine Beziehung auch zu C eingegangen ist, lebt das Objekt weiter. B wurde also in mehreren Objekten eingebunden.
Mein Hauptproblem: Wo ist dann der Unterschied zwischen Assoziation und Aggregation? Dasselbe geschilderte Beispiel könnte schließlich auch auf eine Assoziation zutreffen, denn bei einer Assoziation existieren meiner Meinung nach auch zu einem Objekt mehrere Beziehungen.
Komposition
Bei einer Aggregation verweist Objekt A auf B.
B geht ausschließlich diese Beziehung ein. D.h. C ist in diesem Fall unbeteiligt.
Nun wird A zerstört. B stirbt auch, weil es nicht mehr refenziert ist.
Wie sieht dann so etwas programmiertechnisch aus? Ich weiß, dass die Unterschiede bereits in anderen Threads bearbeitet wurden, allerdings nicht in diesem Kontext.
folgende Frage habe ich bezüglich des Klassendiagramms:
Wo ist der konkrete Unterschied zwischen Assoziation, Aggregation und Komposition? Der Unterschied zwischen Aggregation und Komposion ist mir schon klar, allerdings wird mir der Unterschied zwischen den beiden anderen Begriffen nicht klar.
Angenommen es existieren die Objekte A, B und C.
Meine Annahme:
Aggregation
Bei einer Aggregation verweist Objekt A auf B, weil in Java Objekte nur auf andere Objekte refenzieren können und sie nicht diese nicht direkt enthalten können, richtig? Wieso eigentlich? ???:L
Objekt C verweist ebenfalls auf B.
Nun wird A zerstört. Zwar ist die Beziehung zwischen A und B zerstört, weil A zerstört wurde, aber es existiert immerhin noch die Beziehung C - B. Da B eine Beziehung auch zu C eingegangen ist, lebt das Objekt weiter. B wurde also in mehreren Objekten eingebunden.
Mein Hauptproblem: Wo ist dann der Unterschied zwischen Assoziation und Aggregation? Dasselbe geschilderte Beispiel könnte schließlich auch auf eine Assoziation zutreffen, denn bei einer Assoziation existieren meiner Meinung nach auch zu einem Objekt mehrere Beziehungen.
Komposition
Bei einer Aggregation verweist Objekt A auf B.
B geht ausschließlich diese Beziehung ein. D.h. C ist in diesem Fall unbeteiligt.
Nun wird A zerstört. B stirbt auch, weil es nicht mehr refenziert ist.
Wie sieht dann so etwas programmiertechnisch aus? Ich weiß, dass die Unterschiede bereits in anderen Threads bearbeitet wurden, allerdings nicht in diesem Kontext.