Как представить вызывающий метод базового класса в переопределенном методе? - PullRequest
3 голосов
/ 10 ноября 2019

У меня есть дочерний класс, который хочет добавить больше функций в функцию базового класса. Как я могу представить, что он также выполняет функцию базового класса, а не только недавно добавленную функциональность?

1 Ответ

2 голосов
/ 10 ноября 2019

Интересный вопрос. Я попробовал это с Enterprise Architect. Это позволило мне выбрать родительскую операцию, но отображение на диаграмме не изменилось. Похоже, для этого нужно использовать примечания:

enter image description here

Как видите, Class2 наследуется от Class1. SD показывает вызов операции Class2 a(). Вызов суперкласса Class1.a() в качестве внутреннего вызова показывает ту же подпись. Записка проясняет ситуацию.

Может быть, есть что-то еще возможно с этим. Но это то, что я придумал сразу.


PS Я посмотрел спецификации. В п. 575 UML 2.5 говорится:

Имя сообщения, появляющееся в метке сообщения-запроса, является свойством name сообщения. Если Сообщение имеет подпись, это будет название Операции или Сигнала, на которые ссылается подпись. В противном случае имя является неограниченным.

Это позволит добавить указанную операцию к Class1:a() или подобному. На самом деле Enterprise Architect показывает это в свойствах сообщения, но сокращает его до базового имени. Полагаю, просто случай с границей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...