Я пишу диаграмму классов для моего проекта, но не знаю, должен ли я включать мой переопределенный метод ToString() на диаграмме?
Кроме того, как я могу представить переопределенные методы на диаграмме?
Например...
public override String SalesPrice()
хорошо, поэтому я, наконец, нашел книгу, о которой я упоминал (я скоро перехожу, чтобы она была упакована).
в UML Inheritance называется обобщением, и он просто показывает 2 поля, которые указывают на другие атрибуты.
Я бы предположил, что, поскольку вы определили метод в базовом классе, который вам не понадобился бы в классах, которые наследуют его.
однако есть место, в котором указано, что операции определяются как:
"имя видимости (параметры): return-type {properties}"
и для свойств:
"свойства
Определяет любые свойства, связанные с параметрами, и определяется между фигурными фигурными скобками. Они обычно определяются в контексте конкретной модели "
хотя свойства кажутся больше для параметров, чем фактический метод, но вы, возможно,
теперь для интерфейсов:
в разделе интерфейсов явно указано, что класс, "реализующий" интерфейс, должен иметь собственную реализацию. поэтому вкратце я бы добавил любые переопределенные методы к диаграмме классов. иначе кто когда-либо реализует вашу диаграмму, может не осознавать, что им нужно переопределить ее.
Я использую uml 2.0 в ореховой скорлупе в качестве ссылки. pg 20,28,30
Обычно вам не нужно включать какие-либо дополнительные детали в диаграмму классов UML, что метод "Override" или "Virtual" Etc,
Но если вы хотите это сделать, мне сказали, что он должен быть представлен таким же образом, как и абстрактные классы (курсивное написание)/использование "стрелок" с обеих сторон.
<<Override>>
<<Virtual>>
Поэтому, чтобы соответствовать вашему примеру:
+ SalesPrice (): <<Override>> : String
и в вашем суперклассе вам нужно будет указать следующее:
+ SalesPrice (): <Virtual>> : String