Здавалка
Главная | Обратная связь

Общая характеристика объектов.

 

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

Объект – экземпляр класса.

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

 

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

 

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

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

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

Операция – это услуга, которую класс может предоставить своим клиентам.

В объектно-ориентированных языках операции, выполняемые над данным объектом, называются методами и входят в определение класса объекта. На практике типичный клиент совершает над объектами операции пяти видов:

· Модификатор – операция, которая изменяет состояние объекта;

· Селектор – операция, считывающая состояние объекта, но не меняющая его;

· Итератор – операция, позволяющая организовать доступ ко всем частям объекта в строго определенной последовательности;

· Конструктор – операция создания объекта и/или его инициализации;

· Деструктор – операция, освобождающая состояние объекта и/или разрушающая сам объект

 

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

 

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

 

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

Индивидуальность - это такое свойство или совокупность свойств объекта, которое отличает его от всех других объектов.

 

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

 

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

· связи;

· агрегация.

 

Связь – физическое или концептуальное соединение между объектами.

 

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

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

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

· Агент – такой объект может выступать как в активной, так и в пассивной роли;

 

Существуют четыре способа обеспечить видимость:

· Сервер глобален по отношению к клиенту.

· Сервер (или указатель на него) передан клиенту в качестве параметра операции.

· Сервер является частью клиента.

· Сервер локально порождается клиентом в ходе выполнения какой-либо операции.

 

Агрегация – описывает отношения целого и части, приводящие к соответствующей иерархии объектов.

Виды агрегации:

· Включение по величине;

· Включение по ссылке;

 

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





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.