Назад Вперед Содержание

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

Классы в проекте не являются независимыми. Между ними существуют определенные отношения.

Рассмотрим два основных отношения между классами:

Отношение наследования

Классы А и В находятся в отношении наследования, если между объектами этих классов существует отношение «является».

Например, классы Квадрат и Прямоугольник.

Ясно, что эти классы связаны отношением наследования, так как «квадрат является прямоугольником». Причем, родительским классом является Прямоугольник, а дочерним Квадрат.

Отношение агрегации (клиент – поставщик)

Классы А и В находятся в отношении агрегации, если одним из полей класса В является объект класса А.

То есть объект класса A "вложен" в класс B. 

Класс А называется поставщиком класса В, класс В называется клиентом класса А.

Отношение "клиент - поставщик" называют также отношением вложенности или встраивания.

Между объектами этих классов существует отношение «имеет» или «состоит».

Например, класс стадо и класс корова.Стадо состоит из коров.

Поэтому в классе стадо в качестве поля будет существовать массив объектов класса корова. То есть класс корова вложен в класс стадо.

Проектирование отношений между классами

Когда использовать наследование и когда агрегацию(вложенность)?

Если один класс является подмножеством другого, то должно быть использовано наследование;

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

Назад Вперед Содержание