Wenn Klasse Human
einige Methoden von Superklasse erbt Mammal
unverändert (wie laysEggs:() -> false
) und überschreibt andere Verfahren (wie postsToStackOverflow :() -> true
), gibt es einen Unterschied zwischen dem, wie die verschiedenen Methoden für Human
in Abschnitt des UML-Klassendiagramm statischen angegeben? Werden zum Beispiel nur die überschriebenen Methoden in der Box für Human
angezeigt oder werden beide mit einer Anmerkung für die überschriebenen Methoden angezeigt?Gibt es eine Konvention zum Anzeigen von überschriebenen Methoden in statischen UML-Klassendiagrammen?
Antwort
Nein, gibt es nicht. Sie können nur erkennen, dass eine Methode überschrieben wird, indem Sie die Methoden der Klasse überprüfen, von der geerbt wird.
Obwohl nicht in dem UML-Standard spezifiziert ist, folgt eine Notation, um anzuzeigen, zu verstehen, wenn eine Funktion eine andere überschreibt:
+ toString() : String <<override>>
Bitte beachten Sie, dass <
Sind Profile im UML-Standard definiert oder wäre das ein Merkmal der Diagrammsoftware? @granier – ThisClark
I Methodendeklaration zu duplizieren, wenn ich das geerbte Klasse zeigen wollen, dass es außer Kraft gesetzt werden, in anderen Fall einfach Deklaration auslassen.
Danke. Ich nehme an, du meinst "überschrieben", nicht "überschrieben". –
Ja. Dies ist Denglish ;-) –
Eine Art von eklatanter Unterlassung in UML, da es einfach wäre, nur ein Zeichen am Anfang oder Ende einer Methode anzugeben. Über das Beste, was Sie tun können, ist eine Notiz, die anzeigt, dass es überschrieben oder mit ist ein Teil des Codes aus der überschriebenen Methode. – Hal50000