Асоціація (об'єктно-орієнтоване програмування) — Вікіпедія

Вгорі: двонаправлена асоціація
Посередині: асоціація є двонаправленою, хоча вона може бути обмежена лише одним напрямком, прикрашаючи якийсь кінець стрілкою, що вказує на напрямок проходження.
Внизу: асоціація заборонена

В об'єктно-орієнтованому програмуванні асоціація (англ. association) визначає зв'язок між класами об'єктів, який дозволяє одному екземпляру об'єкта змусити інший виконувати дію від його імені. Цей зв'язок є структурним, оскільки він визначає, що об'єкти одного виду пов'язані з об'єктами іншого і не представляють поведінку.

У загальних термінах причинно-наслідковий зв'язок зазвичай називається «надсиланням повідомлення», «викликом методу» або «викликом функції-члена» до керованого об'єкта. Конкретна реалізація зазвичай вимагає, щоб запитуючий об'єкт викликав метод або функцію-член, використовуючи посилання або вказівник на розташування пам'яті керованого об'єкта.

Вважається, що об'єкти, пов'язані через асоціацію, виконують роль стосовно асоціації, якщо поточний стан об'єкта в активній ситуації дозволяє іншим пов'язаним об'єктам використовувати об'єкт у спосіб, визначений роллю. Роль може бути використана для розрізнення двох об'єктів одного класу при описі його використання в контексті асоціації. Роль описує загальнодоступні аспекти об’єкта щодо асоціації.

Кінці об'єднання можуть мати всі характеристики власності:

  • Вони можуть мати кратність, виражену нижньою та верхньою межею у вигляді «lowerLimit..upperLimit».
  • Ви можете мати ім'я.
  • Ви можете оголосити видимість.
  • Ви можете вказати, чи є кінець асоціації впорядкованим та/або унікальним.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]