Наследование в Enterprise Architect - PullRequest
3 голосов
/ 11 октября 2010

У меня есть класс в пакете. И у меня есть другой класс в другой упаковке. Я хотел бы связать этот второй класс с первым. Так как первое наследие второго. Я не могу создать эти отношения. Мы пытались, но ни в одном случае методы второго не привели к первому.

Любая помощь приветствуется. Спасибо

Class A
Класс А

Class B
Класс B

Владение классом A должно быть видно в классе B. Где A и B находятся в разных папках. И Б, я положил «Экземпляр» А.

Ответы [ 3 ]

3 голосов
/ 26 июля 2011

Очевидно, вам нужно создать это отношение в некоторой диаграмме, которая содержит оба класса.Помните, что вы можете иметь несколько диаграмм, которые ссылаются на один и тот же класс в некотором (другом) пакете / пространстве имен.

Либо создайте новую диаграмму, которая эксклюзивно обрабатывает наследование (и другие отношения), как описано здесь: http://www.sparxsystems.com/WhitePapers/Version_Control.pdf

Или просто перетащите внешний класс на диаграмму, над которой вы сейчас работаетена, создайте отношения и затем удалите иностранный класс.Отношения будут сохраняться.Обратите внимание, что вам не следует перетаскивать / удалять / удалять класс в представлении проекта, так как это приведет к изменениям в пакетах.

Преимущество первого решения состоит в том, что существует фактическое представление отношения в UML.С другой стороны, добавление еще одного набора диаграмм только для взаимосвязей между пакетами может загромождать представление проекта, но в конечном итоге это зависит от вас:)

1 голос
/ 12 октября 2010

Какую связь вы пытаетесь установить (какова природа их отношений) и с какой целью?

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

Редактировать: Я еще не использовал EA для форвард-инжиниринга, поэтомуЯ не уверен, что лучший способ сделать то, что вам нужно, но я получил частично работа:

  • Формируйте связь между классами, перетаскиваястрелка нового пути от дочернего класса над родительским классом.
  • В появившемся контекстном меню выберите обобщение
  • Должно появиться диалоговое окно «Переопределения и реализация».
  • Выбратьметоды, которые вы хотите донести.

Я попробовал это, и это сработало - но только для методов, а не для атрибутов, которые я создал.

0 голосов
/ 25 сентября 2017

Я искал решение для добавления наследования вручную, например: я увижу IDisposable - interface in C# в моем классе или интерфейсе, но этот интерфейс в моем проекте не объявлен.

Вы можете сделать это следующим образом: Выберите класс или интерфейс и нажмите [STRG + I] или выберите класс / интерфейс на диаграмме и просмотрите контекстное меню: Дополнительно -> Родитель.

В следующем диалоговом окнеВы можете выбрать класс, интерфейс из вашего проекта или набрать new Name в текстовом поле, выбрать Generalize или Implements из выпадающего списка и нажать Add.

Enterprise Architect12

...