Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Нестеров.docx
Скачиваний:
3
Добавлен:
22.09.2019
Размер:
267.49 Кб
Скачать

Вопрос 3.

Объектный подход к программированию.

Настоящее время. При этом подходе общая задача разлагается на связанные между собой подзадачи, каждая из которых становится самостоятельным объектом. Языки программирования основаны на 3х базовых концепциях: инкапсуляция, полиморфизм, наследование.

Инкапсуляция – механизм, объединяющий данные и программный код для их обработки, при этом осуществляется защита от внешнего вмешательства и неправильного использования данных. Полученный в результате инкапсуляции модуль называется объектом. Внутри объекта коды и данные могут быть закрытыми (private) и открытыми (public). Закрытые части недоступны извне объекта.

Полиморфизм – свойство, позволяющее использовать одно и то же имя для решения нескольких технически разных задач. Используется для создания общего интерфейса для группы близких по смыслу действий. Выполнение конкретного действия зависит от данных. Полиморфизм применяется как к функциям, так и к операциям.

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

ООП предполагает оперирование классами (объект – это экземпляр класса). Классы имеют набор свойств, изменяя которые можно строить алгоритм программы. К объектам можно применять методы, определённые для каждого класса.

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

Третий этап - объектный подход к программированию (с середины 80-х до конца 90-х годов XX в.). Объектно-ориентированное программирование определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа {класса), а классы образуют иерархию с наследованием свойств. Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений.

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

Бурное развитие технологий программирования, основанных на объектном подходе, позволило решить многие проблемы. Так были созданы среды, поддерживающие визуальное программирование, например, Delphi, C++ Builder, Visual C++ и т. д. При использовании визуальной среды у программиста появляется возможность проектировать некоторую часть, например, интерфейсы будущего продукта, с применением визуальных средств добавления и настройки специальных библиотечных компонентов. Результатом визуального проектирования является заготовка будущей программы, в которую уже внесены соответствующие коды.