UML абстракция - PullRequest
       11

UML абстракция

0 голосов
/ 31 марта 2011

У меня есть один абстрактный class1, который имеет абстрактный method1(). Class2 реализует class2 и переопределяет method1(). Class3 расширяет class2 и переопределяет method1().

Какое из двух решений на изображении является правильным согласно UML?

uml

1 Ответ

0 голосов
/ 31 марта 2011

Ни то, ни другое - хотя решение 1 даже менее правильно, чем решение 2. Во-первых, есть некоторые синтаксические вещи, которые нужно отсортировать:

  1. Ваша диаграмма показывает отношения между классами как бинарными ассоциациями. Они не - они подтип отношений. У них другой графический синтаксис.
  2. Абстрактные элементы (классы / методы) должны быть выделены курсивом.

Есть также две семантические вещи, которые нужно отсортировать; некоторые подсказки:

  1. Класс не может реализовать другой класс. Класс может реализовать интерфейс или расширить (подтип) другой класс.
  2. Вы должны правильно нарисовать отношения между классами. Подсказка: именно здесь решение 2 правильнее решения 1. Вам нужно выяснить, почему.

НТН.

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