M.E.
Lt. Commander
- Registriert
- Jan. 2007
- Beiträge
- 1.923
Hallo,
Ich habe einige Schwierigkeiten den richtigen Rückgabetyp einer Methode in der UML anzugeben.
Ich möchte folgendes in einem UML Diagramm darstellen:
Eine Übersetzerklasse soll folgende Methode anbieten.
Die Methode soll folgendes Verhalten zeigen:
Sie erhält mit dem Parameter type vom Typ project:
ataType die Information zu welchem Typ konvertiert werden soll. Außerdem erhält die Methode einen value eines generischen Typs. Dieser Wert soll konvertiert werden und zurückgegeben werden.
Zur Verdeutlichung einige Beispielaufrufe (Pseudocode)
Frage: Welchen Rückgabetyp muss ich im UML Diagramm angeben?
folgendes ist meiner Meinung nach falsch:
Denn project:
ataType ist ja die Angabe eines Typs, die Methode soll aber die Instanz eines Typs zurückgeben.
Deutlich wird dieser Widerspruch dadurch, dass man, wenn die Methode project:
ataType zurückgäbe, man diese in sich selbst einsetzen könnte und das macht keinen Sinn.
Wer weiß einen Ausweg? Vielen Dank im Voraus!
Edit: project:
ataType ist ein Enum in dem mögliche Datentypen aufgelistet sind.
Ich habe einige Schwierigkeiten den richtigen Rückgabetyp einer Methode in der UML anzugeben.
Ich möchte folgendes in einem UML Diagramm darstellen:
Eine Übersetzerklasse soll folgende Methode anbieten.
Code:
+ translateValue(type : project::DataType, value : T) : Rueckgabe
Die Methode soll folgendes Verhalten zeigen:
Sie erhält mit dem Parameter type vom Typ project:
Zur Verdeutlichung einige Beispielaufrufe (Pseudocode)
Code:
project::INTEGER x = translateValue(project::INTEGER, false); //in x steht jetzt der Wert 0
project::BOOL y = translateValue(project::BOOL, 1); //in y steht jetzt der Wert true
Frage: Welchen Rückgabetyp muss ich im UML Diagramm angeben?
folgendes ist meiner Meinung nach falsch:
Code:
+ translateValue(type : project::DataType, value : T) : project::DataType
Deutlich wird dieser Widerspruch dadurch, dass man, wenn die Methode project:
Wer weiß einen Ausweg? Vielen Dank im Voraus!
Edit: project:
Zuletzt bearbeitet: