Метод объектно-ориентированного проектирования основывается на:
модели построения системы как совокупности объектов абстрактного типа данных;
модульной структуре программ;
нисходящем проектировании, используемом при выделении объектов.
Объектно-ориентированный подход использует следующие базовые понятия:
объект;
свойство объекта;
метод обработки;
событие;
класс объектов.
Объект – совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств).
Объект содержит инструкции (программный код), определяющие действия, которые может выполнять объект, и обрабатываемые данные.
Свойство – характеристика объекта, его параметр. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.
Объект обладает качественной определенностью, что позволяет выделить его из множества других объектов и обусловливает независимость создания и обработки от других объектов.
Например, объект можно представить перечислением присущих ему свойств:
ОБЪЕКТ_А (свойство-1, свойство-2,...., свойство-k).
Свойства объектов различных классов могут "пересекаться", т.е. возможны объекты, обладающие одинаковыми свойствами:
ОБЪЕКТ_В (...свойство-n, свойство-m,...свойство-r,...)
ОБЪЕКТ_С (...свойство-n,....., свойство-r,...).
Одним из свойств объекта являются метод его обработки.
Метод – программа действий над объектом или его свойствами.
Метод рассматривается как программный код, связанный с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта.
Объект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем или заимствованных в стандартных библиотеках, которые выполняются при наступлении заранее определенных событий, например, однократное нажатие левой кнопки мыши, вход в поле ввода, выход из поля ввода, нажатие определенной клавиши и т.п.
По мере развития систем обработки данных создаются стандартные библиотеки методов, в состав которых включаются типизированные методы обработки объектов определенного класса (аналог – стандартные подпрограммы обработки данных при структурном подходе), которые можно заимствовать для различных объектов.
Событие – изменение состояния объекта.
Внешние события генерируются пользователем (например, клавиатурный ввод или нажатие кнопки мыши, выбор пункта меню, запуск макроса); внутренние события генерируются системой.
Объекты могут объединяться в классы ( группы или наборы – в различных программных системах возможна другая терминология).
Класс – совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.
Один объект может выступать объединением вложенных в него по иерархии других объектов.
Схематично связь основных понятий объектно-ориентированного программирования представим следующим образом (рис. 18.5).
Рис. 18.5. Соотношение основных понятий объектно-ориентированного подхода
В объектно-ориентированном программировании используется следующий формат записи работы с объектами:
ОБЪЕКТ. МЕТОД
ОБЪЕКТ.СВОЙСТВО.МЕТОД
Программный продукт, созданный с помощью инструментальных средств объектно-ориентированного программирования, содержит объекты с их характерными свойствами, для которых разработан графический интерфейс пользователя. Как правило, работа с программным продуктом осуществляется с помощью экранной формы, с объектами управления, которые содержат методы обработки, вызываемые при наступлении определённых событий. Экранные формы также используются для выполнения заданий и перехода от одного компонента программного продукта к другому. Каждый объект управления обладает определенными свойствами, значения которых могут изменяться. Для объектов управления уточняется перечень событий и создаются пользовательские методы обработки – программный код на языке программирования в виде событийных процедур.