Разница только между Ассоциацией и Агрегацией и когда их использовать - PullRequest
0 голосов
/ 04 мая 2018

Я знаю, что есть много статей и много ответов на этот вопрос, но я действительно не понимаю его. Я прочитал много ответов, но я не понимаю его полностью. Я знаю, что такое ассоциация, агрегация, состав. Мой вопрос прост: в чем разница между только агрегацией и ассоциацией и когда их использовать. Я не говорю о композиции. Например, курс и студент два класса. Теперь, какие отношения между ними. Является ли ассоциация или агрегация?

1 Ответ

0 голосов
/ 06 мая 2018

«Агрегация» означает сложение вещей. В контексте моделирования классов UML это означает, что один класс является частью другого класса. Чтобы быть ясным (кажется, вы уже знаете), композиция - это форма агрегации - композиция просто означает, что составляемый класс не может существовать вне класса композитинга (также известного как «сильная агрегация»). тогда как агрегация означает, что составная может существовать вне составления (также известная как «слабая агрегация»). Например, автомобиль может объединять четыре колеса, но эти колеса могут существовать при удалении из автомобиля (слабая форма), тогда как разум не может существовать вне мозга (сильная форма).

«Ассоциация» означает, что две вещи как-то связаны. Это означает не что иное, как в контексте моделирования классов UML.

Учитывая это, кажется очевидным, что связь между «Курсом» и «Студентом» является ассоциацией, поскольку ни одна из них не объединяет другую. Это предполагает, что вы и я подразумеваем одно и то же под курсом и студентом, конечно.

...