Объектно-ориентированное проектирование. Павлов А.Ю. - 7 стр.

UptoLike

Составители: 

Для покрытия основных отношений большинство объектно-ориентированных
языков программирования поддерживает следующие отношения:
ассоциация;
наследование;
агрегация;
зависимость;
конкретизация.
Ассоциации обеспечивают взаимодействия объектов, принадлежащих разным классам.
Они являются клеем, соединяющим воедино все элементы программной системы.
Благодаря ассоциациям мы получаем работающую систему. Без ассоциаций система
превращается в набор изолированных
классов-одиночек.
Наследованиенаиболее популярная разновидность отношения обобщение-
специализация. Альтернативой наследованию считается делегирование. При
делегировании объекты делегируют свое поведение родственным объектам. При этом
классы становятся не нужны.
Агрегация обеспечивает отношения целое-часть, объявляемые для экземпляров
классов.
Зависимость часто представляется в виде частной формыиспользования, которое
фиксирует отношение между клиентом, запрашивающим
услугу, и сервером,
предоставляющим эту услугу.
Конкретизация выражает другую разновидность отношения обобщение-
специализация.
Ассоциации классов
Ассоциация обозначает семантическое соединение классов.
Пример: в системе обслуживания читателей имеются две ключевые абстракции
Книга и Библиотека. Класс Книга играет роль элемента, хранимого в библиотеке. Класс
Библиотека играет роль хранилища для книг.
Рис. 5. Ассоциация.
Отношение ассоциации между классами изображено на рис.5. Очевидно, что
ассоциация предполагает двухсторонние отношения:
для данного экземпляра Книги выделяется экземпляр Библиотеки,
обеспечивающий ее хранение;
для данного экземпляра Библиотеки выделяются все хранимые Книги.
Здесь показана ассоциация один-ко-многим. Каждый экземпляр Книги имеет
указатель на экземпляр Библиотеки. Каждый
экземпляр Библиотеки имеет набор указателей
на несколько экземпляров Книги.
Ассоциация обозначает только семантическую связь. Она не указывает
направление и точную реализацию отношения. Ассоциация пригодна для анализа
проблемы, когда нам требуется лишь идентифицировать связи. С помощью создания
ассоциаций мы приходим к пониманию участников семантических связей, их ролей,
мощности, (количества элементов).