В UML нужно ли показывать конкретную реализацию абстрактного метода?

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

4 ответа

Решение

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

Лучшее руководство по UML, которое я знаю, - это UML Distilled Мартина Фаулера.

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

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

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

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

http://java-x.blogspot.com/2007/01/implementing-visitor-pattern-in-java.html

Другие вопросы по тегам