Урок 2. Связи отношений между классами


#1

Ассоциация показывает, что объекты одной сущности (класса) связаны с объектами другой сущности(отношение типа:«Я знаю о…»).

Агрегация – это разновидность ассоциации при отношении между целым и его частями (отношение типа:«Я знаю о… и без этого могу существовать»). Одно отношение агрегации не может включать более двух классов (контейнер и содержимое).

Композиция – более строгий вариант агрегации. Композиция имеет жёсткую зависимость времени существования экземпляров класса-контейнера и экземпляров содержащихся классов. Если контейнер будет уничтожен, то всё его содержимое будет также уничтожено. (Отношение типа:«Я знаю о… и без этого не могу существовать»).

Обобщение –процесс передачи открытого и защищённого состояния и поведения от одного класса другому (реализовано через парадигму ООП наследование).

Реализация - напоминает наследование, но это более похоже на контрактный подход (использование интерфейсов).

Зависимость – это слабая форма отношения использования, при котором изменение в спецификации одного влечёт за собой изменение другого, причем обратное не обязательно. Есть 13 разновидностей реализации.


Содержание справочника С# Essential