В UML нужно ли показывать конкретную реализацию абстрактного метода? - PullRequest
5 голосов
/ 16 мая 2009

Я рисую некоторый UML, в котором конкретный класс наследует от абстрактного класса, который определяет чисто виртуальный метод. Обязательно ли показывать этот метод и в конкретном классе? Это подразумевается наследованием от абстрактного класса.

Ответы [ 4 ]

13 голосов
/ 16 мая 2009

Нет, вам не нужно. на самом деле, в общем, не помещайте в UML больше, чем вы должны объяснить, что вы говорите, если только вы (не дай бог) пытаетесь сгенерировать код из него. *

Лучшее из известных мне руководств по UML - UML Distilled от Martin Fowler.

0 голосов
/ 16 мая 2009

Это подразумевается, и на самом деле, многие инструменты CASE будут показывать вам унаследованный метод как часть списка методов подкласса при нажатии на класс при просмотре его свойств (а некоторые инструменты CASE даже имеют возможность показать также унаследованные методы на диаграмме)

0 голосов
/ 16 мая 2009

Самое забавное в UML - то, что у него довольно свободное и разнообразное определение. Большинство вещей, которые называются UML, на самом деле не намного больше, чем блок-схемы. В любой реализации UML много неясностей.

Я бы сказал, что если вы делаете это для презентации или архитектурной схемы, вы можете позаботиться о значительной двусмысленности со словами. Если вы будете генерировать код из него с помощью какого-либо приложения, вам следует проверить документы этого конкретного приложения.

0 голосов
/ 16 мая 2009

Я только что нашел эту ссылку, и похоже, что вы делаете: /

http://java -x.blogspot.com / 2007/01 / реализации-посетитель-модель-в-java.html

...