Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации? / 12 сообщений из 12, страница 1 из 1
16.03.2005, 14:48
    #32963547
_мастак
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
субж
...
Рейтинг: 0 / 0
16.03.2005, 14:57
    #32963580
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
В ООП нет таких понятий. Это чьи-то личные измышления.
...
Рейтинг: 0 / 0
16.03.2005, 16:18
    #32963925
SNUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
Ассоциация - это связь между классами, например: счёт на оплату заказа(ов) клиента .
Агрегация - вложеность одного класса в другой, например: договор с клиентом - приложения к договору; накладная - состав накладной.
...
Рейтинг: 0 / 0
16.03.2005, 18:16
    #32964333
NotGonnaGetUs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
DankovВ ООП нет таких понятий. Это чьи-то личные измышления.

Это нотации UML, которые применимы к описанию ОО кода.
UML - это официальный набор стандартов, поэтому говорить о "личных измышлениях" несколько опрометчиво.
www.omg.org/uml/

SNUS
Ассоциация - это связь между классами, например: счёт на оплату заказа(ов) клиента.
Агрегация - вложеность одного класса в другой, например: договор с клиентом - приложения к договору; накладная - состав накладной.


Из спецификации можно узнать, что
Ассоциация обозначает связь между объектами.
Агрегация и композиция это частные случаи ассоциации.
Агрегация предполагает, что объекты связаны взаимоотношением "part-of" (часть).
Композиция более строгий вариант агрегации. Дополнительно к требованию part-of накладывается условие, что "часть" не может одновременно принадлежать разным "хозяевам", и заканчивает своё существование вместе с владельцем.

Например,
мотоцикл -> cумка с багажём - ассоциация. Отношение "имеет".
мотоцикл -> колесо - композиция.
группа по интересам -> человек - агрегация. человек часть группы, но может принадлежать нескольким разным группам.

Есть возражения? :)
...
Рейтинг: 0 / 0
17.03.2005, 06:36
    #32964759
_мастак
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
Sun Academic
Например, если аквариум наполнен водой и в нем плавают рыбки, то можно
сказать, что аквариум агрегирует в себе воду и рыбок.
Такое отношение включения или агрегации (aggregation) изображается линией с ромбиком
на стороне того класса, который выступает в качестве владельца или контейнера.
В нашем примере отношение "contain" является двунаправленным. Объект класса Aquarium
содержит несколько объектов Fish. В то же время каждая рыбка "знает", в каком именно
аквариуме она живет. Факт участия класса в отношении изображается посредством роли.
Число объектов, участвующих в отношении, записывается рядом с именем роли. Запись
"0..n" означает "от нуля до бесконечности". Приняты так же обозначения:
• "1..n" - от единицы до бесконечности;
• "0" - ноль;
• "1" - один;
• "n" - фиксированное количество;


ВОПРОС: Почему это называется агрегацией а не ассоциацией?
...
Рейтинг: 0 / 0
17.03.2005, 15:00
    #32966094
java != javascript
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
Потому что всё это пустой трёп.
ООП это не описания реальности, а описание модели реальности. А модель зависит от решаемой задачи (в одном случае землю можно заменить точкой, в другом представить как шар, в третьем можно вычерчивать геоид).

Если рассматривать аквариум сам по себе, то его части это стенки, каркас и т.п. А рыбки и вода совсем ни причём.
Если рассматривать "аквариум с рыбками", то вода и рыбки это часть "аквариума", без них он уже не "аквариум с рыбками". Можно называть агрегацией, было бы желание, или композицией. Есть позиция согласно которой агрегация бесполезное обозначение. Композиции и ассоциации достаточно.

Поэтому смотреть на это нужно в рамках конкретной задачи.
Если ты готовишься к какому нибудь зачёту - читать лекции.
Если просто учишь UML для себя - забить. От того, как ты нарисуешь у себя на листике стрелку, с ромбиком или без - никому лучше/хуже не станет. Тем более, что чем больше авторов, тем больше ошибок проповедуется.
Если разбираешься в каком-нибудь MDA средстве, то читать документацию, разбираться как это влияет на готовый код.

Будь проще :)
...
Рейтинг: 0 / 0
17.03.2005, 16:39
    #32966405
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
Агрегация - частный случай ассоциации.
( в том смысле что агрегацию можно представить как ассоциацию, но не наоборот).
При агрегации объект-клиент и объект-сервер неравноправны в связи (схема несимметрична, один объект агрегирует другой). При ассоциации - чаще всего, равноправны (если неравноправны, то лучше применять агрегацию).
...
Рейтинг: 0 / 0
17.03.2005, 17:56
    #32966650
java != javascript
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
MasterZivАгрегация - частный случай ассоциации.
( в том смысле что агрегацию можно представить как ассоциацию, но не наоборот).
При агрегации объект-клиент и объект-сервер неравноправны в связи (схема несимметрична, один объект агрегирует другой). При ассоциации - чаще всего, равноправны (если неравноправны, то лучше применять агрегацию).

Это какая-то вольная интерпретация.
Согласно UML 2.0, объекту присущи свойства.
Свойства могут быть выражены ввиде атрибутов и ассоциаций.
Ассоциации могут быть однонаправленными и двунаправленными (редко).
Если ассоциация не однонаправленна, то объекты уже не равноправны.
Если такая ассоциация не отражает отношение "часть целого", а скажем "владение" или "список чего-то" и т.д., то заменить её на агрегацию нет никакого права.

Например рука это часть целого человека, а сумка, которую он несёт, нет, он ей просто владеет.
...
Рейтинг: 0 / 0
18.03.2005, 11:05
    #32967639
_мастак
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
java != javascriptБудь проще :)

Ок.
А что вы скажете о том что агрегация не может быть N:M в то время как ассоциация может?
...
Рейтинг: 0 / 0
18.03.2005, 13:10
    #32968047
java != javascript
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
ничего не скажу.
тот же пример с группой по интересам и её членами.

Кол-во членов не ограничивается одним человеком, а может быть ноль.
Член может состоять в одной и более группе.
<<group>>*<>-------->*<<person>>

В случае мотоцикла , колеса:
комнозиция предполагает, что владелен всегда один.
<<bike>>1<+>------->2<<wheel>>
...
Рейтинг: 0 / 0
18.03.2005, 13:12
    #32968051
java != javascript
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
java != javascriptкомнозиция предполагает, что владелен всегда один.
<<bike>>1<+>------->2<<wheel>>
omg.
композиция, владелец.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
03.07.2013, 10:44
    #38318243
Alex Gwire
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
Прошу прощения, что поднял тему.
Просто хотел заметить, что про мотоцикл хороший пример. 1392040

А вот здесь 1394802 ,
java != javascriptОт того, как ты нарисуешь у себя на листике стрелку, с ромбиком или без - никому лучше/хуже не станет.
если имелось ввиду забить на то, что пишешь - "композиция" или "агрегация", то человек не прав.
Например: Мы же не говорим на Маму - "Женщина" (Женщина, что ты готовишь). Хотя Мама это частный случай Женщины.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]