Is there a convention for showing overridden methods in UML static class diagrams?

Now there is. Some anonymous got me to dig into the 2.5.1. specs. On p. 100 it says

Members that are inherited by a Classifier may be shown on a diagram of that Classifier by prepending a caret ’^’ symbol to the textual representation that would be shown if the member were not inherited. Thus the notation for an inherited Property is defined like this:

<inherited-property> ::= ’^’ <property>

The specs itself does not (yet) make much use of the caret notation except for figure 9.11 on p. 113 and figure 10.9 on p. 171.

Note that this is only valid for properties/connectors and not for operations. See also this related question


In the specs for 2.5 and before the answer was: No, there isn't. You can only tell that a method is overridden by inspecting the methods of the class from which is inherited.


Though not specified in the UML standard, following is a notation understood to indicate when one function overrides another:

+ toString() : String <<override>>

I duplicate method declaration, if I want to show that inherited class will override it, in other case just omit declaration.