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