Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика.doc
Скачиваний:
4
Добавлен:
26.09.2019
Размер:
270.34 Кб
Скачать

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

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

Структурный подход - базируется на двух основных принципах:

1 Использование процедурного стиля программирования;

2. Последовательная декомпозиция алгоритма решения задачи сверху вниз.

1. Задача формулируется в терминах ввода данных – вывода результата. Раскладывается на простые действия, при этом на каждом шаге разработки программы можно создать работающий каркас (с использованием программ-«заглушек»), которая постепенно обрастает деталями.

Структурное программирование подтвердило перспективность модульного построения программ, однако в языках программирования единственным способом структуризации программ остается составление их из подпрограмм и функций.

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

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

2. Ускорение разработки программ требовало упрощение их сопровождения и модификации.

3. Не все задачи можно алгоритмически описать по требованиям структурного программирования. Поэтому для упрощения проектирования нужно приблизить структуру программы к структуре решаемой задачи.

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

Объект

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

16.03.2012 г. (пт)

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

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

Полиморфизм.

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

Классы и объекты – два общепринятых термина.

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

Компоненты.

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

У компонента два типа интерфейсов: интерфейс стадии проектирования и интерфейс стадии выполнения.

1. Интерфейс проектирования позволяет включать компоненты в современные среды разработки приложений.

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