ЛЕКЦИЯ 12 Тема 1.8: Методология объектно-ориентированного программирования Методология объектно-ориентированного программирования – подход, использующий объектную декомпозицию, при которой статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Основные понятия объектно-ориентированного подхода – объект и класс. Объект (осязаемая реальность) - предмет или явление, имеющие четко определяемое поведение. Объект обладает состоянием, поведением и индивидуальностью; структура и поведение схожих объектов определяют общий для них класс. Термины «экземпляр класса» и «объект» эквивалентны. Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называется операцией (в языках - методы). Свойство объекта – характеристика объекта, его параметр. Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов. Событие – изменение состояния объекта. Метод – программа действий над объектом или его свойствами. Объекты могут объединяться в классы. Класс – это множество объектов, связанных общностью структуры и поведения. Любой объект является экземпляром класса. В объектно-ориентированном программировании используется формат записи работы с объектами: ОБЪЕКТ.МЕТОД ОБЪЕКТ.СВОЙСТВО.МЕТОД Программный продукт, созданный с помощью инструментальных средств объектно-ориентированного программирования, содержит объекты с их характерными свойствами, для которых разработан графический интерфейс пользователя. Как правило, работа с программным продуктом осуществляется с помощью экранной формы, с объектами управления, которые содержат методы обработки, вызываемые при наступлении определенных событий. Экранные формы также используются для выполнения заданий и перехода от одного компонента программного продукта к другому. Каждый объект управления обладает определенными свойствами, значения которых могут изменяться. Для объектов управления уточняется перечень событий и создаются пользовательские методы обработки – программный код на языке программирования в виде событийных процедур. Основные принципы объектно-ориентированного программирования: Инкапсуляция – это сокрытие информации и комбинирование данных и функций, которые аналогичны абстрактным типам данных. Подразумевается объединение в одном объекте данных и методов их обработки. Полиморфизм – способность класса принадлежать более чем одному типу. Возможность замещения методов объекта-родителя одноименными методами объекта-потомка. Наследование – построение новых классов на основе существующих с возможностью добавления или переопределение данных и методов. Обеспечивает создание новых объектов на базе ранее определенных. Методы и концепции Метод объектно-ориентированной декомпозиции – заключается в выделении объектов и связей между ними. Метод поддерживается концепциями инкапсуляции, наследования и полиморфизма. Метод абстрактных типов данных – метод, лежащий в основе инкапсуляции. Метод поддерживается концепцией абстрагирования. Метод пересылки сообщений – заключается в описании поведения системы в терминах обмена сообщениями между объектами. Метод поддерживается концепцией сообщения. Преимущества объектно-ориентированного подхода: 1. Объектная декомпозиция позволяет создавать программные системы меньшего размера, путем использования общих механизмов, обеспечивающих необходимую экономию выразительных средств. 2. Объектная декомпозиция уменьшает риск создания сложных систем, т.к. она предполагает эволюционный путь развития системы на базе относительно небольших подсистем. 3. Объектная модель вполне естественна, т.к. в первую очередь ориентирована на человеческое восприятие мира, а не на компьютерную реализацию. 4. Объектная модель позволяет использовать выразительные возможности объектных и объектно-ориентированных языков программирования. Недостатки объектно-ориентированного подхода - снижение производительности функционирования ПО и высокие начальные затраты. Главный недостаток структурного подхода – процессы и данные существуют отдельно друг от друга, причем проектирование ведется от процессов к данным.