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

9.2.3. Структурное программирование

Структурное программирование применяется при создании средних по размеру приложений (несколько тысяч строк исходного текста)

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

Наличие подпрограмм позволяет вести проектирование и разработку приложения сверху вниз ─ нисходящим проектированием.

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

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

С появлением визуальных RAD-сред в системе Windows, идеология которой основана на событиях, широкую популярность приобрел событийный подход к созданию программ ─ событийно-ориентированное программирование. Оно является развитием идей нисходящего проектирования, когда постепенно определяются и детализируются реакции программы на различные события.

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

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

9.2.4. Объектно-ориентированное программирование

Реальные объекты окружающего мира обладают тремя базовыми характеристиками:

  • имеют набор определенных свойств;

  • способны разными методами изменять эти свойства;

  • реагировать на события, возникающие как вне объекта, так и внутри его.

На этих базовых характеристиках и основано понятие объекта в языках программирования.

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

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

Примечание: парадигма (греч. paradeigma)─ это пример, образец, тип, модель. В нашем случае это модель.

В основе этой ключевой идеи лежат три основных механизма:

  • инкапсуляция;

  • наследование;

  • полиморфизм.

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

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

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

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

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

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

Появление технологии объектно-ориентированного программирования (середина 80-х годов 20 века) позволило создавать в разумные сроки приложения до нескольких миллионов строк программного кода.