Ассоциация
Ассоциация означает, что объекты двух классов могут ссылаться один на другой, иметь некоторую связь между друг другом. Например Менеджер может выписать Счет. Соответственно возникает ассоциация между Менеджером и Счетом. Еще пример – Преподаватель и Студент – т.е. какой-то Студент учится у какого-то Преподавателя. Ассоциация и есть описание связи между двумя объектами. Студент учится у Преподавателя. Идея достаточно простая – два объекта могут быть связаны между собой и это надо как-то описать.
Агрегация и композиция
Агрегация и композиция на самом деле являются частными случаями ассоциации. Это более конкретизированные отношения между объектами.
Агрегация – отношение когда один объект является частью другого. Например Студент входит в Группу любителей физики.
Композиция – еще более “жесткое отношение, когда объект не только является частью другого объекта, но и вообще не может принадлежат еще кому-то. Например Машина и Двигатель. Хотя двигатель может быть и без машины, но он вряд ли сможет быть в двух или трех машинах одновременно. В отличии от студента, который может входить и в другие группы тоже. Такие описания всегда несколько условны, но тем не менее.
Пример агрегации:
one classroom has a student
one classroom has many students
If I deleted classroom object I would not be expect that all student object will be deleted. They can uese another object
Пример композиции:
document has pages
If I deleted document object all asociated pages deleted will be deleted.
Немає коментарів:
Дописати коментар