Отношения между классами.
Существует
3 основных типа отношений между классами:
-разновидность,
определяющая степень общности,
-составная часть,
которая определяет агрегатирование
объектов (т.е. показывает, что какой-то
объект является частью другого объекта),
-ассоциативность
– т.е. смысловая связь между классами,
которые не связаны никакими другими
типами отношений.
Объектно-ориентированные
ЯП реализуют перечисленных выше отношения
несколькими общими способами:
-наследование,
-использование,
-представление,
-метаклассы.
Особый подход к
реализации наследования называется
делегированием. В этом случае объекты
рассматриваются в качестве прототипов,
которые делегируют свои свойства другим
объектам, тем самым ограничивая
потребность в создании новых классов.
Наследование
является наиболее эффективным типом
отношений. Его можно использовать как
для отражения общности, так и для
отражения ассоциативности.
Использование
применимо для реализации агрегатирования.
Представление,
как и наследование охватывает и общность
и ассоциативность, но несколько иным
способом.
Особым типом
отношений является метакласс. Это класс,
который позволяет рассматривать классы
в качестве объектов.