Форум Сообщества Аналитиков
Общий раздел => ПО Аналитика => Sparx => Тема начата: ida - брэнд с 14-летней историей от 20 Апреля 2013, 18:10:20
-
Суть в следующем: есть класс с определенными атрибутами.
Предположим, Человек - у него есть Имя, Фамилия, Возраст и т.п.
Хочу сделать кучу объектов данного класса и для каждого указать значения этих атрибутов.
EA позволяет связать созданный объект с классом, но атрибуты при этом автоматически не наследуются.
Возможно, туплю и использую не тот механизм - подскажите, как это делается?
-
Для отображения у дочернего элемента атрибутов родительского следует:
1) Выбрать на диаграмме дочерний элемент, соединенный с родительским связью Generalization, вызвать контекстное меню и указать Feature Visibility
2) В открывшемся окне в группе Inherited Features отметить опцию Show Attributes
Если же нужно от класса сделать N-экземпляров, указав у них значения наследованных атрибутов, то для этого следует использовать в контекстном меню дочернего элемента пункт Advanced -> Override Attribute Initializers. В открывшемся окне будет возможность указать наследованный атрибут, его значение и примечание.
-
Сейчас попробую, спасибо )
-
Первый вариант сработал, но все что в результате получилось - у объекта появился список атрибутов из родительского класса. Задача же заключалась в том, чтобы указать значения данных атрибутов у этого объекта.
Второй не работает, когда дочерний элемент - объект, а родительский - класс. Если дочерний элемент сделать классом, то работает. А мне-то нужно, чтобы он был объектом..
-
Марина все проще и сложнее.
1. http://www.uml2.ru/forum/index.php?topic=312.msg30830#msg30830
2. Не надо включать отображение унаследованных атрибутов и так отобразяться
-
Спасибо, по виду полная жесть, но буду пытаться )
А если у родительского класса есть атрибуты, значениями которых являются объекты другого класса, то можно ли до них будет дотянуться из дочернего объекта?
Пример: человек живет в городе, есть куча людей и куча городов, у класса Человек заводим атрибут Город и связываем его с классом Город. Соотв-но, надо чтобы каждый конкретный человек был связан с конкретным городом. Как это можно реализовать?
-
Марина все проще и сложнее.
1. http://www.uml2.ru/forum/index.php?topic=312.msg30830#msg30830
2. Не надо включать отображение унаследованных атрибутов и так отобразяться
Связь в итоге получается Dependency? Проводите ее и указываете этот стереотип вручную?
-
Спасибо, по виду полная жесть, но буду пытаться )
Да ну- чего проще:) Никакой жести.
Берешь класс из проектного обозревателя и тащишь его на диаграмму (объектную) и там кидаешь как instance. Затем Advance -> Set Run State
Набьешь руку - будешь деньги брать :)
А если у родительского класса есть атрибуты, значениями которых являются объекты другого класса, то можно ли до них будет дотянуться из дочернего объекта?
Та разница то в чем? Все равно руками вбивать будешь.
Пример: человек живет в городе, есть куча людей и куча городов, у класса Человек заводим атрибут Город и связываем его с классом Город. Соотв-но, надо чтобы каждый конкретный человек был связан с конкретным городом. Как это можно реализовать?
Не у класса Человек будет атрибут Город типа Город, связывать будешь класс Человек и класс Город, а не атрибут - связь - это и есть атрибут
Счас нарисую
Не забывай между классами - ассоциация
между объектами - связь - она не кратна
И то что ты делаешь - это иллюстрация ДК, т.е. диаграмма объектов
-
Связь в итоге получается Dependency? Проводите ее и указываете этот стереотип вручную?
Да нет, связь там нарисована для красоты и смысла. И да проводится чисто вручную
Т.е. на одной диаграмме показан класс и инстанциорованный от него объект. Зависимость ничего не меняет в функциональности инструмента.