В диаграмме классов UML, как я могу опустить несущественные базовые классы, не создавая неправильного представления?Как опустить базовые классы в диаграмме классов UML
Рассмотрим следующую иерархию классов:
Я хочу, чтобы проиллюстрировать тот факт, что оба Blackbird
s и Airplane
s являются FlyingThing
s. Но я не хочу загромождать свою диаграмму классов UML со всей родословной Blackbird
.
Я мог бы просто оставить вне Bird
, Animal
и LivingOrganism
, рисуя только три «соответствующие» классы. Но это выглядело бы так, как если бы Blackbird
был получен только от FlyingThing
и ни от чего другого.
Чтобы предотвратить это неправильное впечатление, я мог бы счесть включение класса Bird
в конце концов, оставив только Animal
и LivingOrganism
. Но тогда было бы так, как если бы у Bird
не было базовых классов вообще. Итог: везде, где я делаю разрез, всегда будет выглядеть так, как если бы у одного класса было меньше базовых классов, чем на самом деле.
То, что я ищу, - это один из способов указать, что «этот класс имеет другие базовые классы, кроме тех, которые были показаны, но я не могу потрудиться, чтобы нарисовать их все». Я представляю себе нечто похожее на многоточие. Есть ли стандартный способ выразить это?
Edit:
я выдумал классы на этой диаграмме, чтобы проиллюстрировать этот вопрос. Так что вопрос не о том, имеет ли смысл множественное наследование или этот дизайн класса. Предположим, они это делают. Этот вопрос касается не какого-либо конкретного инструмента моделирования UML: предположим, что мы работаем с ручкой и бумагой.
Чтобы повторно рассказать о моем вопросе: Imaging вы видели диаграмму, содержащую только три выделенных класса и ничего больше. Вы предположили бы, что эта диаграмма отражает всю правду и что Blackbird
не имеет других базовых классов, кроме FlyingThing
?
Если вы думаете, да,
Blackbird
по-видимому, происходит отFlyingThing
только: то должен быть какой-то стандартный синтаксис UML, чтобы показать, что это не так.Если вы считаете, что нет других базовых классов, которые автор диаграммы пропустил: тогда это отвечает на мой вопрос, и я просто видел проблемы, где на самом деле их нет. :-)
right :) Я удалю свой комментарий – stan0