0 Daumen
478 Aufrufe

Frage:

Das folgende UML Klassendiagramm modelliert ein Logistikzentrum, in dem Pakete
gesammelt werden, die es zu versenden gilt. Beim Hinzufügen neuer Pakete wird die
maximale Paketlänge zwischengespeichert. Diese wird benötigt, wenn bei vollem
Lager ein Lieferwagen gerufen wird.

Hinweis: Nachdem ein Paket in der Klasse Logistikzentrum hinzugefügt wurde, existieren keine
externen Referenzen mehr auf das Objekt. Dies wurde Ihnen zugesichert und darf als gegeben
vorausgesetzt werden.

modellierungbild.PNG

Text erkannt:

\begin{tabular}{|l|}
\hline
\end{tabular}


Beschreiben Sie kurz ein Problem, das hinsichtlich der privaten Sichtbarkeit des Attributs
pakete in der Klasse Logistikzentrum besteht.

Hat jemand eine Idee, was das Problem ist?

Avatar von

1 Antwort

0 Daumen
 
Beste Antwort

Es können keine Pakete aus dem Logistikzentrum entfernt werden.

Grund ist, dass das Attribut pakete privat ist und es keine Methode zum Entfernen von Paketen aus dem Logistikzentrum gibt.

Avatar von 5,6 k

Hm, ich habe in der b) eine Verbesserungsmöglichkeit gegeben, die aber auf etwas komplett anderes eingeht und die es zu bewerten gilt. Ich glaube, es hat irgendwas mit der Paketlänge zu tun, also dass da was nicht richtig modelliert ist.modell3.PNG

Hm, ich habe in der b)

Ich weiß nicht, was b) ist.

eine Verbesserungsmöglichkeit gegeben,

Es gibt einige Probleme. Du hast aber nach den Problemen gefragt, die hinsichtlich der privaten Sichtbarkeit des Attributs pakete in der Klasse Logistikzentrum bestehen.

Ach so das hab ich nicht genau genug formuliert.

Die b) also das Bild was ich hier noch hinzugefügt habe, soll ein Lösungsvorschlag sein, für das Problem bzgl. der Sichtbarkeit und man soll bewerten, wie gut der Vorschlag ist.

Wenn wirklich das Entfernen der Pakete das Problem ist, dann würde diese Veränderung ja aber nicht helfen. Das verwundert mich nur.

Der Lösungsvorschlag beseitigt ein anderes Problem, nämlich dass in der ursprünglichen Modellierung die Abmessungen der Pakete geändert werden konnten ohne dass das Logistikzentrum davon erfahren hat. Das ist ein Problem weil:

Beim Hinzufügen neuer Pakete wird die maximale Paketlänge zwischengespeichert. Diese wird benötigt, wenn bei vollem Lager ein Lieferwagen gerufen wird.

Deshalb muss das Logistikzentrum über Änderungen der Abmessungen von Paketen informiert werden.

Eine andere Lösung wäre, die Methoden für die Änderungen der Abmessungen zu entfernen und die Abmessungen mittels des Konstruktors anzugeben.

Eine dirtte Möglichkeit ist, dass das Paket weiß, in welchem Logistikzentrum es sich befindet, so dass es bei Änderungen der Abmessungen das Logistikzentrum benachrichtigen kann.

Das hat aber nichts mit der Sichtbarkeit des Attributs pakete zu tun.

Okay, vielen Dank! :)

Das hat wirklich geholfen. Da bei der c) auch nochmal Code ist, der versucht, das Problem mit den Paketlängen verändern zu beheben, ist da scheinbar wirklich das Problem gemeint. Sonst würde beide ja keinen Bezug auf die a) nehmen und das macht keinen Sinn.

Vielleicht meinen die damit, dass die Liste mit Paketen ja privat ist, d.h. eigentlich sollte man von außerhalb keinen Zugriff darauf haben. Aber da bei getPaket das Paket ja ausgegeben wird, ist die Sichtbarkeit von pakete völlig egal, da man sich mit getPaket jedes beliebige Paket ja geben lassen kann und dann auch verändern kann dann über die set Methoden.

Ist vermutlich schlecht formuliert.

Aber nochmal Danke dafür, das hat beim Verständnis sehr geholfen :)

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

0 Daumen
1 Antwort
0 Daumen
1 Antwort
0 Daumen
1 Antwort

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community