Форум Сообщества Аналитиков

Общий раздел => ПО Аналитика => Sparx => Тема начата: ida - брэнд с 14-летней историей от 20 Апреля 2013, 18:10:20

Название: Как унаследовать атрибуты от класса к его объекту?
Отправлено: ida - брэнд с 14-летней историей от 20 Апреля 2013, 18:10:20
Суть в следующем: есть класс с определенными атрибутами.
Предположим, Человек - у него есть Имя, Фамилия, Возраст и т.п.

Хочу сделать кучу объектов данного класса и для каждого указать значения этих атрибутов.
EA позволяет связать созданный объект с классом, но атрибуты при этом автоматически не наследуются.

Возможно, туплю и использую не тот механизм - подскажите, как это делается?
Название: Re: Как унаследовать атрибуты от класса к его объекту?
Отправлено: artvish от 20 Апреля 2013, 19:32:51
Для отображения у дочернего элемента атрибутов родительского следует:
1) Выбрать на диаграмме дочерний элемент, соединенный с родительским связью Generalization, вызвать контекстное меню и указать Feature Visibility
2) В открывшемся окне в группе Inherited Features отметить опцию Show Attributes

Если же нужно от класса сделать N-экземпляров, указав у них значения наследованных атрибутов, то для этого следует использовать в контекстном меню дочернего элемента пункт Advanced -> Override Attribute Initializers. В открывшемся окне будет возможность указать наследованный атрибут, его значение и примечание.
Название: Re: Как унаследовать атрибуты от класса к его объекту?
Отправлено: ida - брэнд с 14-летней историей от 20 Апреля 2013, 20:38:40
Сейчас попробую, спасибо )
Название: Re: Как унаследовать атрибуты от класса к его объекту?
Отправлено: ida - брэнд с 14-летней историей от 20 Апреля 2013, 21:48:48
Первый вариант сработал, но все что в результате получилось - у объекта появился список атрибутов из родительского класса. Задача же заключалась в том, чтобы указать значения данных атрибутов у этого объекта.

Второй не работает, когда дочерний элемент - объект, а родительский - класс. Если дочерний элемент сделать классом, то работает. А мне-то нужно, чтобы он был объектом..
Название: Re: Как унаследовать атрибуты от класса к его объекту?
Отправлено: Galogen от 20 Апреля 2013, 23:52:34
Марина все проще и сложнее.

1. http://www.uml2.ru/forum/index.php?topic=312.msg30830#msg30830
2. Не надо включать отображение унаследованных атрибутов и так отобразяться
Название: Re: Как унаследовать атрибуты от класса к его объекту?
Отправлено: ida - брэнд с 14-летней историей от 20 Апреля 2013, 23:59:55
Спасибо, по виду полная жесть, но буду пытаться )

А если у родительского класса есть атрибуты, значениями которых являются объекты другого класса, то можно ли до них будет дотянуться из дочернего объекта?

Пример: человек живет в городе, есть куча людей и куча городов, у класса Человек заводим атрибут Город и связываем его с классом Город. Соотв-но, надо чтобы каждый конкретный человек был связан с конкретным городом. Как это можно реализовать?
Название: Re: Как унаследовать атрибуты от класса к его объекту?
Отправлено: artvish от 21 Апреля 2013, 00:31:37
Марина все проще и сложнее.

1. http://www.uml2.ru/forum/index.php?topic=312.msg30830#msg30830
2. Не надо включать отображение унаследованных атрибутов и так отобразяться
Связь в итоге получается Dependency? Проводите ее и указываете этот стереотип вручную?
Название: Re: Как унаследовать атрибуты от класса к его объекту?
Отправлено: Galogen от 21 Апреля 2013, 01:03:45
Спасибо, по виду полная жесть, но буду пытаться )
Да ну- чего проще:) Никакой жести.
Берешь класс из проектного обозревателя и тащишь его на диаграмму (объектную) и там кидаешь как instance. Затем Advance -> Set Run State
Набьешь руку - будешь деньги брать :)

Цитировать
А если у родительского класса есть атрибуты, значениями которых являются объекты другого класса, то можно ли до них будет дотянуться из дочернего объекта?
Та разница то в чем? Все равно руками вбивать будешь.

Цитировать
Пример: человек живет в городе, есть куча людей и куча городов, у класса Человек заводим атрибут Город и связываем его с классом Город. Соотв-но, надо чтобы каждый конкретный человек был связан с конкретным городом. Как это можно реализовать?
Не у класса Человек будет атрибут Город типа Город, связывать будешь класс Человек и класс Город, а не атрибут - связь - это и есть атрибут

Счас нарисую

Не забывай между классами - ассоциация
между объектами - связь - она не кратна

И то что ты делаешь - это иллюстрация ДК, т.е. диаграмма объектов
Название: Re: Как унаследовать атрибуты от класса к его объекту?
Отправлено: Galogen от 21 Апреля 2013, 01:05:10
Связь в итоге получается Dependency? Проводите ее и указываете этот стереотип вручную?
Да нет, связь там нарисована для красоты и смысла. И да проводится чисто вручную

Т.е. на одной диаграмме показан класс и инстанциорованный от него объект. Зависимость ничего не меняет в функциональности инструмента.