Firefighter22 Geschrieben 10. November 2019 Geschrieben 10. November 2019 Hallo zusammen,ich bräuchte mal Hilfe bzw. ich hätte eine Frage zu einem UML Sequenzdiagramm.In dem letzten Bild kann man die Lösung ansehen. Ich stehe aber völlig auf dem Schlauch warum die so erstellt wurde. Kann mir das jemand erklären?
Whiz-zarD Geschrieben 10. November 2019 Geschrieben 10. November 2019 Was verstehst du denn dort nicht? Das ist eine Schleife, die über die Fillialen läuft. Innerhalb dieser Schleife gibt es eine weitere Schleife, die alle Mitarbeiter durchläuft und bei allen Mitarbeitern, die nicht Fillialleiter sind, wird das Gehalt erhöht.
Firefighter22 Geschrieben 10. November 2019 Autor Geschrieben 10. November 2019 Was da mit size gemacht wird? Also ich verstehe das so das er in dem ersten Abschnitt die Liste Filiale sich die Größe angeben lässt und diese i nennt oder?
Whiz-zarD Geschrieben 10. November 2019 Geschrieben 10. November 2019 Ja, Size() holt die Größe der Liste, um damit die Austrittsbedingung der for-schleife zu definieren. Heutzutage würde man das aber mit einer foreach-Schleife lösen.
Firefighter22 Geschrieben 10. November 2019 Autor Geschrieben 10. November 2019 Was wird mit dem get(k) gemacht? Wie würde das ganze dann mit einer foreach aussehen?
Whiz-zarD Geschrieben 10. November 2019 Geschrieben 10. November 2019 Am 10.11.2019 um 18:07 schrieb ChrisG123: Was wird mit dem get(k) gemacht? Aufklappen Wenn ich mir das Diagramm anschaue, kommt es mir sowieso an dieser Stelle falsch vor. Ich vermute mal, dass get(k) einfach nur die Filiale aus der Liste holen soll aber nach dem Diagramm erhöht die get()-Methode die Gehälter. Also anstatt: public void erhoeheGehaltMitarbeiter(double x) { var i = meineFilialen.Size(); for(var k = 0; k <= i; k++) { var filiale = meineFilialen.get(k); var meineMitarbeiter = filiale.getMeineMitarbeiter(); var z = meineMitarbeiter.Size(); for(var j = 0; j <= z - 1; j++) { // ... } } } steht dort einfach nur: public void erhoeheGehaltMitarbeiter(double x) { var i = meineFilialen.Size(); for(var k = 0; k <= i; k++) { meineFilialen.get(k); } } Und die get()-Methode erhöht dann das Gehalt, was aber nicht klappen kann, da die Methode x gar nicht kennt. get() müsste also einen Rückgabewert zur Zentrale zurückgeben.
Firefighter22 Geschrieben 11. November 2019 Autor Geschrieben 11. November 2019 Gibt es eigentlich einen groben Ablauf wie man aus dem Sequenzdiagramm eine Methode wie jetzt erhöheGehalt schreibt?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden