Природа классов и объектов объектной модели, взаимоотношения между ними; состояние, поведение и идентичность объектов на примере Вашей курсовой работы.
В объектно-ориентированной методологии анализа и создания сложных программных систем основными строительными блоками являются классы и объекты. Объект обладает состоянием, поведением и идентичностью; структура и поведение схожих объектов определяет общий для них класс; термины «экземпляр класса» и «объект» взаимозаменяемы. Состояние объекта характеризуется перечнем (обычно статическим) всех свойств данного объекта и текущими (обычно динамическими) значениями каждого из этих свойств. Поведение – это то, как объект действует и реагирует на посылаемые ему сообщения; поведение выражается в терминах состояния объекта и передачи сообщений. Поведение объекта – это его наблюдаемая и проверяемая извне деятельность. Идентичность – это такое свойство объекта, которое отличает его от всех других объектов. Объект – это переменная абстрактного типа данных, которая состоит из приватных данных и из процедур, которые оперируют этими данными. Объект – абстракция данных, имеющая интерфейс в виде именованных операций и собственные данные с ограничением доступа к ним. Объект класса – есть независимая асинхронная одновременная сущность, которая «знает о чем-то» (т.е. хранит данные), «выполняет работу» (т.е. инкапсулирует службы), и «сотрудничает с другими объектами» (путем обмена сообщениями) для выполнения всех функций моделируемой системы. Объект типа – содержит ссылку на класс, который реализует данный тип (интерфейс). Объект-экземпляр. Объект – это экземпляр (instance) некоторой сущности. Он может быть одним из множества экземпляров одной и той же сущности. Общее описание «сущности» называется классом. В языке UML объект обозначается прямоугольником с двумя отделениями: имя объекта и имя класса, которому принадлежит объект, а также его свойства. Свойства представляют единое понятие, воплощающееся в двух совершенно различных сущностях: в атрибутах и в ассоциациях. Рис. 4.1. Спецификация объекта Объекты изображаются только для того, чтобы привести пример системы в определенный момент времени, либо проиллюстрировать, каким образом они кооперируются (collaborate) с течением времени при выполнении определенных задач. Например, чтобы упорядочить товары, может потребоваться установить кооперацию между объектом Склад и объектом Покупка. Системные задачи выполняются объектами, которые активизируют операции (поведение) друг друга с помощью отправки друг другу сообщений (message). Рис. 4.2 иллюстрирует потоки сообщений между четырьмя объектами. Сообщение – это имя операции объекта – приемника, причем сообщение может принимать параметры. Объект Заказ предписывает объекту Поставка доставить заказ. Для этого объект Поставка инструктирует объект Склад о необходимости вычесть соответствующее количество товаров. Затем объект Склад анализирует новый уровень Запаса и, если он оказывается ниже определенного значения, предписывает объекту Покупка сделать повторный заказ дополнительного объема товаров.
Рис. 4.2. Кооперация объектов В сценариях взаимодействия объектов выделяются объекты – клиенты и объекты – сервера, которые выполняют роли Актора, Агента и Сервера. Возможны пять видов операций объекта – клиента над объектом – сервер: 1) Модификатор – изменяет состояние объекта – сервера. 2) Итератор – осуществляет доступ к содержанию объекта – сервера по частям в строго определенном порядке. Операция позволяет взаимодействовать с частями объекта (через указатель). 3) Селектор – произвольный доступ к состоянию объекта – сервера без изменения его состояния. 4) Конструктор – создает объект и инициализирует его состояние. 5) Деструктор – разрушает объект и освобождает занимаемую им память. Примеры следующих сообщений: УменьшитьКоличествоТовара() – это модификатор; ПоказатьУровеньЗапаса() –это селектор; ПоказатьАссортиментТоваров () – это итератор; СоздатьОбъект(параметры) – это конструктор; УничтожитьОбъект() – это деструктор.
|