|
|
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
субж ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 14:48 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
В ООП нет таких понятий. Это чьи-то личные измышления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 14:57 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
Ассоциация - это связь между классами, например: счёт на оплату заказа(ов) клиента . Агрегация - вложеность одного класса в другой, например: договор с клиентом - приложения к договору; накладная - состав накладной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 16:18 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
DankovВ ООП нет таких понятий. Это чьи-то личные измышления. Это нотации UML, которые применимы к описанию ОО кода. UML - это официальный набор стандартов, поэтому говорить о "личных измышлениях" несколько опрометчиво. www.omg.org/uml/ SNUS Ассоциация - это связь между классами, например: счёт на оплату заказа(ов) клиента. Агрегация - вложеность одного класса в другой, например: договор с клиентом - приложения к договору; накладная - состав накладной. Из спецификации можно узнать, что Ассоциация обозначает связь между объектами. Агрегация и композиция это частные случаи ассоциации. Агрегация предполагает, что объекты связаны взаимоотношением "part-of" (часть). Композиция более строгий вариант агрегации. Дополнительно к требованию part-of накладывается условие, что "часть" не может одновременно принадлежать разным "хозяевам", и заканчивает своё существование вместе с владельцем. Например, мотоцикл -> cумка с багажём - ассоциация. Отношение "имеет". мотоцикл -> колесо - композиция. группа по интересам -> человек - агрегация. человек часть группы, но может принадлежать нескольким разным группам. Есть возражения? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 18:16 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
Sun Academic Например, если аквариум наполнен водой и в нем плавают рыбки, то можно сказать, что аквариум агрегирует в себе воду и рыбок. Такое отношение включения или агрегации (aggregation) изображается линией с ромбиком на стороне того класса, который выступает в качестве владельца или контейнера. В нашем примере отношение "contain" является двунаправленным. Объект класса Aquarium содержит несколько объектов Fish. В то же время каждая рыбка "знает", в каком именно аквариуме она живет. Факт участия класса в отношении изображается посредством роли. Число объектов, участвующих в отношении, записывается рядом с именем роли. Запись "0..n" означает "от нуля до бесконечности". Приняты так же обозначения: • "1..n" - от единицы до бесконечности; • "0" - ноль; • "1" - один; • "n" - фиксированное количество; ВОПРОС: Почему это называется агрегацией а не ассоциацией? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 06:36 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
Потому что всё это пустой трёп. ООП это не описания реальности, а описание модели реальности. А модель зависит от решаемой задачи (в одном случае землю можно заменить точкой, в другом представить как шар, в третьем можно вычерчивать геоид). Если рассматривать аквариум сам по себе, то его части это стенки, каркас и т.п. А рыбки и вода совсем ни причём. Если рассматривать "аквариум с рыбками", то вода и рыбки это часть "аквариума", без них он уже не "аквариум с рыбками". Можно называть агрегацией, было бы желание, или композицией. Есть позиция согласно которой агрегация бесполезное обозначение. Композиции и ассоциации достаточно. Поэтому смотреть на это нужно в рамках конкретной задачи. Если ты готовишься к какому нибудь зачёту - читать лекции. Если просто учишь UML для себя - забить. От того, как ты нарисуешь у себя на листике стрелку, с ромбиком или без - никому лучше/хуже не станет. Тем более, что чем больше авторов, тем больше ошибок проповедуется. Если разбираешься в каком-нибудь MDA средстве, то читать документацию, разбираться как это влияет на готовый код. Будь проще :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 15:00 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
Агрегация - частный случай ассоциации. ( в том смысле что агрегацию можно представить как ассоциацию, но не наоборот). При агрегации объект-клиент и объект-сервер неравноправны в связи (схема несимметрична, один объект агрегирует другой). При ассоциации - чаще всего, равноправны (если неравноправны, то лучше применять агрегацию). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 16:39 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
MasterZivАгрегация - частный случай ассоциации. ( в том смысле что агрегацию можно представить как ассоциацию, но не наоборот). При агрегации объект-клиент и объект-сервер неравноправны в связи (схема несимметрична, один объект агрегирует другой). При ассоциации - чаще всего, равноправны (если неравноправны, то лучше применять агрегацию). Это какая-то вольная интерпретация. Согласно UML 2.0, объекту присущи свойства. Свойства могут быть выражены ввиде атрибутов и ассоциаций. Ассоциации могут быть однонаправленными и двунаправленными (редко). Если ассоциация не однонаправленна, то объекты уже не равноправны. Если такая ассоциация не отражает отношение "часть целого", а скажем "владение" или "список чего-то" и т.д., то заменить её на агрегацию нет никакого права. Например рука это часть целого человека, а сумка, которую он несёт, нет, он ей просто владеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 17:56 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
java != javascriptБудь проще :) Ок. А что вы скажете о том что агрегация не может быть N:M в то время как ассоциация может? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 11:05 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
ничего не скажу. тот же пример с группой по интересам и её членами. Кол-во членов не ограничивается одним человеком, а может быть ноль. Член может состоять в одной и более группе. <<group>>*<>-------->*<<person>> В случае мотоцикла , колеса: комнозиция предполагает, что владелен всегда один. <<bike>>1<+>------->2<<wheel>> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 13:10 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
java != javascriptкомнозиция предполагает, что владелен всегда один. <<bike>>1<+>------->2<<wheel>> omg. композиция, владелец. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 13:12 |
|
||
|
ООП. Кто доходчиво объяснит - в чем отличие Агрегации и Ассоциации?
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, что поднял тему. Просто хотел заметить, что про мотоцикл хороший пример. 1392040 А вот здесь 1394802 , java != javascriptОт того, как ты нарисуешь у себя на листике стрелку, с ромбиком или без - никому лучше/хуже не станет. если имелось ввиду забить на то, что пишешь - "композиция" или "агрегация", то человек не прав. Например: Мы же не говорим на Маму - "Женщина" (Женщина, что ты готовишь). Хотя Мама это частный случай Женщины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 10:44 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=32963547&tid=1341753]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 343ms |

| 0 / 0 |
