Виды отношений между классами


Ассоциацияпредставляет смысловую связь между сущностями (объектами), создаваемыми на основе классов. Ассоциация (association) определяется некоторой связью между классами. Когда в системе создаются представители ассоциированных классов, они связываются так, как определяет данная ассоциация [5-9].

Ассоциации между классами разрабатываются в процессе так называемого семантического моделирования: моделирования структуры данных исходя из их смысла. Для этого полезно использовать ER-диаграммы(Entity – Relationship: Сущность – Связь). ER-диаграммы используются в разных аспектах проектирования сложных программных комплексов, причем, не только комплексов, разрабатываемых с использованием объектно-ориентированной парадигмы, но и при разработке баз данных и во многих других приложениях.

Основными понятиями, используемыми при построении ER-диаграмм, являются следующие.

1)Сущность– класс однотипных объектов, информация о которых должна быть учтена в модели. Сущность в рамках ООП представляется классом.

2)Экземпляр сущности– объект, создаваемый на основе класса.

3) Атрибут сущности– именованная характеристика. В ООП – информационный член класса.

4) Ключ сущности– совокупность атрибутов, однозначно определяющих объект.

5) Связь– ассоциация между сущностями.

Типы связей:

· один к одному;

· один ко многим;

· многие ко многим.

Пример связи: группа – студенты. Связь может иметь одну из двух модальностей:

· может (может быть, а может и не быть);

· должен.

При разработке ER-модели определяется следующая информация:

· список сущностей;

· список атрибутов;

· описание связей.

Связи между сущностями реализуются с помощью механизмов наследования, агрегирования и использования.

Наследование– отношение между классами, при котором один класс повторяет структуру и поведение другого класса (одиночное наследование) или других (множественное наследование) классов.

Класс, поведение и структура которого наследуется, называется базовым (родительским) классом, а класс, который наследует – производным классом.

В производном классе структура и поведение базового класса (информационные члены и методы), дополняются и переопределяются. В производном классе указываются только дополнительные и переопределяемые члены класса. Производный класс является уточнением базового класса:

classz: publicy{. . . };

Агрегация– это отношение между классами типа целое/часть. Агрегируемый класс в той или иной форме является частью агрегата. Объект класса-агрегата может хранить объект агрегируемого класса, или хранить ссылку (указатель) на него.

Композицияявляется специальным видом агрегирования (так называемое сильное агрегирование). Композиция объектов заключается в использовании объектов типов разработанных классов в качестве информационных членов при описании других классов [5].

Использование– отношение между классами, при котором один класс в своей реализации использует в той или иной форме реализацию объектов другого класса.

Использование одним классом объектов другого класса может проявляться одним из следующих образов:

· имя одного класса используется в профиле метода другого класса;

· в теле метода одного класса создаётся локальный объект другого класса;

· метод одного класса обращается к методу другого класса (не совсем частный случай предыдущего способа использования, так как при вызове статических членов классов локальный объект не создаётся).



Дата добавления: 2021-07-22; просмотров: 284;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.