是否存在在UML静态类图中显示重写方法的约定?

Ell*_*tus 15 inheritance uml overriding

如果类Human从超类继承了某些方法Mammal(例如laysEggs: () -> false)并覆盖其他方法(例如postsToStackOverflow : () -> true),那么在UML静态类图的部分中如何指示不同的方法之间有什么区别Human?例如,是否只显示了框中显示的重写方法Human,或者是否显示了重写方法,并为重写方法添加了一些注释?

qwe*_*_so 18

不,没有.您只能通过检查继承的类的方法来判断方法是否被覆盖.


Thi*_*ark 14

虽然未在UML标准中指定,但以下是一种表示一个函数何时覆盖另一个函数的符号:

+ toString() : String <<override>>
Run Code Online (Sandbox Code Playgroud)

  • 请注意,&lt;&lt;override&gt;&gt;未在UML规范文档中定义,因此要使用,通常您应该定义一个配置文件或使用定义此构造型的现有配置文件。 (2认同)

Boh*_*ych 6

我复制方法声明,如果我想表明继承的类将覆盖它,在其他情况下只需省略声明。