Hallo, ich habe eine Frage zu UML und c++. Ich habe mir eine verkettete Liste gebaut. Das UML-Diagramm ist im Anhang angefügt. Leider weis ich nicht ob ich das mit der Aggregation richtig verstanden habe. Die Klasse PcapFrameNode beschreibt ein Listenelement. In der Klasse ist ein Zeiger auf sich selbst vorhanden usw. In der Klasse PcapFrameList beschreibt die Funktionen, die eine verkettete Liste hat (Löschen der Liste und Ausgabe..). Die Klasse PcapFrameList besitzt vier Zeiger, die auf Objekte der Klasse PcapFrameNode zeigen können. In welcher Beziehung stehen die beiden Klassen zu einander. Ist es eine Komposition oder Aggregation. Meiner Meinung nach ist es eine Aggregation da die Lebensdauer der PcapNode-Objekte, auf die die vier Zeiger zeigen, nicht von der Lebensdauer der Klasse PcapFrameList, abhängt. Ist das richtig? Die Zahlen an dem Pfeil bedeuten Die Klasse PcapFrameList besitzt genau vier Zeiger auf PcapFrameNode Objekte und ein PcapFrameNode-Objekt kann entweder keinem oder einem PcapFrameList Objekt angehören. Ist das korrekt?
Ich würd einfach eine Beziehung machen. Als Kardinalitäten kommt für mich um Grunde nur * und 1 in Frage. Ein Knoten sollte zu genau einer Liste gehören und in eine Liste können beliebig viele Knoten sein.
ich würde auch sagen dass es eine Assoziation sein sollte, Aggregation und Komposition beschreiben beide eine (soweit ich das sehe) "besteht-aus-Beziehung". Der Unterschied bei der Komposition (existenziellen Abhängigkeit) meint nicht in erster Linie die Existenz der Teile hinsichtlich der Laufzeit sondern eine semantische existentielle Abhängigkeit zum Beispiel Auto und Motor sind eine Komposition weil ohne Motor geht nix, Auto und Ersatzrad wären eine Aggreagation da dieses enthalten ist aber es kann auch mal fehlen trotzdem funzt das Auto, wenn die Instanzen in der Lebenszeit nicht voneinander abhängig sind wie Fahrer und Auto dann ist es eindeutig eine Assoziation, vorbehaltlich ich hab es selbst richtig verstanden ;-) ... mach es ja auch noch nicht sooooo lange :-/ Gruß
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.