Ассоциации и обобщения(Прочитано 7140 раз)
Ассоциации и обобщения : 24 Ноября 2010, 18:31:49
Есть класс "СуперКласс", соединенный ассоциацией без имен полюсов с классом "Класс". Есть класс "ПодКласс", подкласс "СуперКласса", соединенный ассоциацией без имен полюсов с классом "Класс". Кратнось полюсов второй ассоциации вкладывается в кратность соответствующих полюсов первой ассоциации (например 1..1 вкладывается в 0..*). Что получается: 1) диаграмма (модель) неверна: у класса "ПодКласс" 2 ассоциации с совпадающими именами полюсов на дальнем конце; 2) диаграмма (модель) верна: вторая ассоциация уточняет первую?



Re: Ассоциации и обобщения Ответ #1 : 24 Ноября 2010, 19:55:09
По правилу подстановки Лисков. Подкласс - это тот же Суперкласс, который наследует все свойства Суперкласса, в том числе и ассоциации с другими классами, т.е. Классом. Вторая ассоциация Подкласса к Классу по сути переопределяет исходную. Правильно ли это? Не знаю



Re: Ассоциации и обобщения Ответ #2 : 24 Ноября 2010, 23:05:42
Посмотрите тут обобщение ассоциации. Правда хотелось бы практический пример посмотреть, а не абстракцию



Re: Ассоциации и обобщения Ответ #3 : 24 Ноября 2010, 23:38:32
Да реальный пример попроще будет проанализировать.

Vadim Вы имели ввиду что-то наподобие как на рисунке ?
«Сделай первый шаг, и ты поймешь, что не все так страшно.»
-- L. A. Seneca --



Re: Ассоциации и обобщения Ответ #4 : 25 Ноября 2010, 08:43:31
Vadim Вы имели ввиду что-то наподобие как на рисунке ?

Имхо он имел в виду нечто вроде



Re: Ассоциации и обобщения Ответ #5 : 25 Ноября 2010, 10:25:10
Точно!!!



Re: Ассоциации и обобщения Ответ #6 : 25 Ноября 2010, 11:10:42
Цитировать
Подкласс - это тот же Суперкласс, который наследует все свойства Суперкласса, в том числе и ассоциации с другими классами, т.е. Классом. Вторая ассоциация Подкласса к Классу по сути переопределяет исходную. Правильно ли это? Не знаю
Когда у подкласса есть атрибут с тем же именем, что у суперкласса я встречал примеры у классиков/авторов UML, где это означало переопределение атрибута, причем без {redefines ...}.
Цитировать
Посмотрите тут обобщение ассоциации.
Посмотрел, уже раз 10-й (пример кочует по сайтам и книгам) и не жалею - появилось соображение, спасибо. А вот и соображение: на рис. 30 обобщение ассоциации ПРОИЗВОДНО (конечно при условии, что полюс ассоциации с тем же именем переопределяет наследуемый полюс ассоциации). И еще: если кратность одного из полюсов, например model, 1..1, то и SetGeneralization для Symbol ПРОИЗВОДНО (при условии, что оба SetGeneralization являются disjoint и complete).



Re: Ассоциации и обобщения Ответ #7 : 25 Ноября 2010, 11:49:00
Цитировать
при условии, что оба SetGeneralization являются disjoint и complete
при условии, что у обоих SetGeneralization совпадают completeness, disjointness и powerType.




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19