Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Особенностью ООП является то.doc
Скачиваний:
30
Добавлен:
09.02.2015
Размер:
467.97 Кб
Скачать

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

Объектная декомпозиция

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

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

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

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

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

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

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

При выполнении объектной деком­позиции устанавливаются отношения между объектами, которые бывают двух типов (см. рис.):

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

Отношения могут принимать форму:

  • воздействия(активный объект воздействует на пассивный объект, передавая ему сообщение);

  • исполнения(пассивный объект исполняет указание активного объекта);

  • посредничества(некоторый объект - посредник, получив сообщение от активного объекта, передает его пассивному объекту).

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

Виды операций над объектами и типы отношения между ними определяют особенности реализации объектов.

Объекты и сообщения

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

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

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

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

Как правило, набор свойствв процессе функционирования не изменяется, могут изменяться лишь конкретные значения этих свойств.

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

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

Обращение к объекту для изменения его состояния по всем или отдельным составляющим инициирует выполнение операции модификации.

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

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

Полный список возможных операций над объектами выглядит следующим образом (рис. 1.14):

  • создание объекта;

  • уничтожение объекта;

  • модификация - изменение состояния объекта;

  • селекция - доступ для определения состояния;

  • итерация - доступ к содержимому объекта по частям в определенной последовательности (используется при наличии в объекте некоторых однотипных компонент).

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