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