-
Объектно-ориентированное программирование
Объектный подход является следующей ступенью в развитии структурного программирования.
В основе объектно-ориентированного программирования лежит идея объединения в одной структуре, называемой объектом, данных и программ, которые обрабатывают эти данные.
Понятие объекта включает в себя параметры объекта (свойства) и программные средства для работы с ним (методы). По существу каждый объект представляет собой программный комплекс. Данные этой программы называются свойствами, а отдельные подпрограммы обработки данных называются методами.
В объектно-ориентированном программировании используется определенная форма записи при работе с объектами.
Объекты характеризуются свойствами. Изменять свойства объектов можно с помощью оператора присвоения. Обращение к свойству объекта:
ОБЪЕКТ. СВОЙСТВО = А
В данном примере свойству объекта присвоено значение переменной А.
В = ОБЪЕКТ. СВОЙСТВО
В данном примере переменной В присвоено значение свойства объекта.
Вызов метода, выполняющего действия над тем или другим объектом, записывается следующим образом:
ОБЪЕКТ. МЕТОД
Объекты одного и того же типа объединяются в классы. Классы, участвующие в определении нового класса, называются базовыми или родительскими, а создаваемые классы — производными. В общем виде совокупность классов (базовых и производных) может представлять собой иерархическую структуру.
События — сигналы, формируемые пользователем или программой, для которых объект имеет свои методы обработки.
В основе объектно-ориентированного программирования лежат три важных понятия: инкапсуляция, наследование и полиморфизм.
Инкапсуляция — позволяет объединить данные и код в один объект и при этом скрыть реализацию объекта от пользователя.
Пользователю предоставляется возможность взаимодействовать с объектом только через его интерфейс.
Наследование — это способность описать новый класс на основе уже существующего (родительского). При этом свойства и функциональность родительского класса заимствуются новым классом.
Полиморфизм — это возможность по разному трактовать одноименные объекты, их свойства и методы в зависимости от каких-то внешних обстоятельств. Полиморфизм позволяет писать более абстрактные программы и повысить коэффициент повторного использования кода.
Примеры вопросов
1. Базовыми понятиями объектно-ориентированного программирования являются:
-
объект;
-
класс;
-
структура;
-
функция?
2. В объектно-ориентированном программировании формат программного кода, задающий использование метода, имеет вид:
-
<метод> . <объект> ;
-
<обьект> . <метод>: = <значение>;
-
<обьект> . <метод>;
-
<объект> = <значение>?
3. На каком этапе можно изменить свойства объекта при создании приложения в объектно-ориентированном программировании:
-
только на этапе создания программного кода приложения;
-
на этапе проектирования формы и на этапе создания программного кода приложения;
-
на этапе тестирования программного кода приложения;
-
только на этапе проектирования формы?
4. Установите правильное соответствие между понятиями объектно-ориентированного программирования и их описаниями.
-
Свойство — параметр объекта, который определяет поведение объекта.
-
Событие - сигнал, формируемый внешней средой, на который объект должен отреагировать.
-
Класс - совокупность объектов, обладающая общими свойствами и поведением.
5. В концепции объектно-ориентированного подхода к программированию НЕ ВХОДИТ:
-
дискретизация;
-
инкапсуляция;
-
полиморфизм;
-
наследование?
-
Как называется в объектно-ориентированном программировании способность объекта сохранять свойства и методы класса-родителя? — Наследованием.
Вариант из лекции Хр. 12.05.2010
Структурное программирование основано на модульной структуре программного продукта и типовых управляющих структурах алгоритмов обработки данных различных программных модулей.
Типы управляющих структур:
– последовательность (линейный алгоритм);
– альтернатива (условие выбора);
– цикл.
Существует несколько методов структурного программирования:
-
Структурное - Нисходящее (иерархическое, сверху – вниз),
-
Структурное – Восходящее (снизу – вверх),
-
Структурное – модульное,
Нисходящее – будущая программа разбивается на более мелкие элементы, которые тоже могут быть разбиты на простые и так до тех пор, пока не будут доведены до элементарных операций, которые могут быть реализованы на ЭВМ.
Структурная схема нисходящего модуля показана на рисунке 4.13.
Рисунок 4.13. Структурная схема нисходящего модуля
Этот метод применяют при разработке сложных по характеру и большому объему программ, когда к их разработке привлекают большое количество программистов, работающих параллельно.
Реализация метода нисходящего программирования тесно связана с понятием Модульное проектирование.
Модуль – это последовательность логически связанных фрагментов, оформленных как отдельные программы.
Модули должны обладать свойствами:
-
На модуль можно ссылаться по имени;
-
По завершению модуль должен возвращать управление тому модулю, который его вызывал;
-
Модуль должен иметь один вход и выход, иметь небольшой размер.
Структурное программирование облегчает процесс разработки и отладки программных модулей, облегчает процесс их понимания и модификации.
Структурное программирование нельзя сводить только к программированию без использования операторов безусловного перехода типа GOTO. Это программирование объединяет несколько взаимосвязанных способов создания ясных, легких для понимания программ с реализацией принципа их самодокументирования (т.е. включение комментариев), а так же с описанием функциональных возможностей и правил использования на отдельных шагах исполнения алгоритма.
Объектно-ориентированное программирование использует следующие базовые понятия:
– объект – совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств). Объект содержит инструкции (программный код), определяющий действия, которые может выполнять объект, и обрабатываемые данные;
– свойство объекта – характеристика объекта, его параметр;
– метод обработки – программа действий над объектом или его свойствами;
– событие – изменение состояния объекта;
– класс объектов – совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.
Объектно-ориентированный подход основан на трёх основополагающих концепциях:
– инкапсуляция;
– полиморфизм;
– наследование.
Инкапсуляция – это механизм, который объединяет данные и код, манипулирующий этими данными
Полиморфизм – это свойство, которое позволяет одно и то же имя использовать для решения двух или более схожих, но технически разных задач.
Наследование – это процесс, посредством которого один объект может приобретать свойства другого.