Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория информатика.doc
Скачиваний:
89
Добавлен:
24.09.2019
Размер:
5.2 Mб
Скачать

13.5 Объектно-ориентированное проектирование

Метод объектно-ориентированного проектирования основывается на:

• модели построения системы как совокупности объектов абстрактного типа данных;

• модульной структуре программ;

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

• объект;

• свойство объекта;

• метод обработки;

• событие;

• класс объектов.

Объект — совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств).

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

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

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

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

ОБЪЕКТ_А (свойство- 1, свойство-2 , свойство-k).

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

ОБЪЕКТ В (...свойство-n, свойство-m,...свойство-r,...)

ОБЪЕКТ_С (...свойство-n, ....., свойство-r,...).

Одним из свойств объекта являются метод его обработки.

Метод  -  программа действий над объектом и его свойствами.

 Метод рассматривается как программный код, связанный с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта.

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

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

Событие — изменение состояния объекта.

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

Объекты могут объединяться в классы (группы или наборы — в различных программных системах возможна другая терминология).

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

Один объект может выступать объединением вложенных в него по иерархии других объектов.

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

Рисунок 13.4. Соотношение основных понятий объектно-ориентированного подхода

В объектно-ориентированном программировании используется следующий формат записи работы с объектами:

ОБЪЕКТ. МЕТОД

ОБЪЕКТ.СВОЙСТВО.МЕТОД

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

Методика объектно-ориентированного проектирования

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

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

• наследование;

• полиморфизм.

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

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

Полиморфизм — способность объекта реагировать на запрос (вызов метода) сообразно своему типу, при этом одно и то же имя метода может использоваться для различных классов объектов.

Для различных методик объектно-ориентированного проектирования характерны следующие черты:

• объект описывается как модель некоторой сущности реального мира;

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

В процессе объектно-ориентированного анализа:

• осуществляется идентификация объектов и их свойств;

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

• определяются связи между объектами для образования классов;

• устанавливаются требования к интерфейсу с объектами.

Выделено четыре этапа объектно-ориентированного проектирования:

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

• разработка структуры классов, описывающей связь между классами и объектами;

• разработка диаграмм объектов, показывающих взаимосвязи с другими объектами;

• разработка внутренней структуры программного продукта.