Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТАРАСОВА МАТЕРИАЛЫ.docx
Скачиваний:
3
Добавлен:
29.07.2019
Размер:
240.39 Кб
Скачать
  1. Класс. Отношения между классами

Класс – это множество объектов, связанных общностью структуры и поведения.

Существует 3 основных типа отношений между классами:

-разновидность, определяющая степень общности,

-составная часть, которая определяет агрегатирование объектов (т.е. показывает, что какой-то объект является частью другого объекта),

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

Объектно-ориентированные ЯП реализуют перечисленных выше отношения несколькими общими способами:

-наследование,

-использование,

-представление,

-метаклассы.

Особый подход к реализации наследования называется делегированием. В этом случае объекты рассматриваются в качестве прототипов, которые делегируют свои свойства другим объектам, тем самым ограничивая потребность в создании новых классов.

Наследование является наиболее эффективным типом отношений. Его можно использовать как для отражения общности, так и для отражения ассоциативности.

Использование применимо для реализации агрегатирования.

Представление, как и наследование охватывает и общность и ассоциативность, но несколько иным способом.

Особым типом отношений является метакласс. Это класс, который позволяет рассматривать классы в качестве объектов.

  1. Объект. Отношения между объектами

С точки зрения ООР объект - это некоторая сущность, обладающая состоянием, поведением и индивидуальностью.

Отношения между двумя объектами основываются на предположении, что каждый объект имеет информацию о другом объекте: об операциях, которые над ним можно выполнять и об ожидаемом поведении. Рассмотрим два типа отношений между объектами:

-отношения использования или старшинства и

-отношения включения или родства.

Отношения использования. Каждый объект, включенный в эти отношения, может выполнять одну из трех следующих функций:

-воздействие, т.е. объект может воздействовать, никогда не подвергаясь воздействию со стороны других объектов, что соответствует понятию – активный объект,

-исполнение, в этом случае объект подвергается воздействию со стороны другого объекта, никогда не выступая в роли активного,

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

Пересылка сообщений между объектами, как правило, однонаправлена, но встречаются и двунаправленные связи. При пересылке сообщений от одного объекта к другому они должны быть определенным образом синхронизированы. Для последовательной системы такая синхронизация реализуется, как правило, через вызов подпрограмм. В параллельной системе ситуация значительно сложнее. Отсюда вытекает следующий способ классификации объектив:

объект-транслятор – пассивный объект с одним каналом управления,

блокированный объект – пассивный объект с несколькими каналами управления,

параллельный объект – активный объект с несколькими каналами управления.

Отношение включения. Если некоторый объект можно определить, как состоящий из других объектов, которые являются элементами состояния данного объекта, то это и характеризует отношение включения.

Отношения включения и использования тесно связаны. Отношения включения имеют то преимущество, что при их использовании сокращается число обрабатываемых объектов. Однако в этом случае возникает сильная зависимость между объектами, чего можно избежать в том случае, когда будут задействованы отношения использования