Понятие объекта. Объекты и сообщения. Состояние и поведение объектов

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

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

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

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

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

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

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

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

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

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

Рис. 1.14. Типы операций над объектом

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

Например, «Активизировать» для интерфейсного элемента, в зависимости от типа реализации (статической или динамической) может означать, либо создание объекта - при динамической реализации, либо его модификацию - «видимый» вместо «невидимый» при статической реализации.

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

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

Рис. 1.15. Типы отношений между объектами

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

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

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