Тема 6_Технологии программирования и ООП
.pdfКафедра |
Преимущества ООП |
|
Кафедра |
|
Преимущества ООП |
|
|||
информатики |
|
информатики |
|
||||||
|
УГАТУ |
|
|
УГАТУ |
|||||
|
|
|
|
• В программах, управляемых событиями, нет сплошного кода, |
|||||
• ООП в наибольшей степени соответствует внутренней |
который выполняется с начала до конца. После запуска таких |
||||||||
логике функционирования операционной системы (ОС) |
программ у пользователя нет четко определенного пути. Он |
||||||||
может в любой момент нажать какую-нибудь кнопку, ввести |
|||||||||
Windows. Программа, состоящая из отдельных объектов, |
|||||||||
данные текста в соответствующее поле, прекратить |
|
||||||||
отлично приспособлена к реагированию на события, |
|
|
|||||||
|
обработку и вызвать другую программу. |
|
|||||||
|
|
|
|
|
|||||
происходящие в ОС. |
|
• Для реализации событийного механизма управления для |
|
||||||
• Программа, построенная по принципам ООП - это не |
|
|
|||||||
|
каждого объекта (управляющего элемента, формы) |
|
|||||||
последовательность операторов, не некий жесткий |
|
определен перечень относящихся к нему событий. Реакцию |
|||||||
алгоритм, а совокупность объектов и способов их |
|
на событие можно запрограммировать. Для этого с помощью |
|||||||
взаимодействия. |
|
кода создаются процедуры - обработчики событий |
|
||||||
|
(событийные процедуры). |
|
|||||||
|
|
|
|
|
|||||
• Обмен информацией между объектами происходит |
|
• Надежность кода и возможность повторного использования |
|||||||
посредством сообщений. |
|
||||||||
|
отработанных объектов – одно из основных преимуществ |
|
|||||||
|
|
|
|
|
|||||
|
|
|
|
ООП. |
|
|
|||
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
41 |
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
42 |
|
Кафедра |
Структура приложения, разработанного с |
|
Кафедра |
|
Основные этапы создания |
|
|||
информатики |
|
использованием ООП |
|
информатики |
|
Windows-приложений |
|
||
|
|
УГАТУ |
|
|
|
УГАТУ |
|||
|
|
|
|
|
|
|
|||
|
|
|
|
Постановка задачи. Четкая формулировка задачи, |
|
||||
Приложениями операционной системы принято |
|
|
выделение исходных данных для ее решения и |
|
|||||
называть программы, предназначенные для |
|
|
определение того, какие результаты и в каком виде |
|
|||||
|
|
должны быть получены. |
|
||||||
работы под управлением данной системы. |
|
Постановка задачи должна давать ответ на вопросы: что |
|
||||||
|
|
|
|
|
дано? что требуется найти? Какие данные допустимы? |
|
|||
Проект – это разрабатываемое на языке |
|
Постановка задачи – это составление точного и понятного |
|||||||
|
|
описания того, как должно работать будущее приложение, |
|||||||
программирования приложение. |
|
|
что должен делать пользователь в процессе его работы, |
|
|||||
Проект включает в себя формы (окна) с |
|
|
необходимо также предусмотреть реакцию на |
|
|||||
размещенными на ней компонентами, а также |
|
неправильные действия пользователя. |
|
||||||
Это описание должно объяснять как будет выглядеть |
|
||||||||
программные модули событийных процедур, |
|
|
|||||||
|
|
экранная форма (окно) этого приложения, в каком виде |
|
||||||
которые описывают поведение объектов и их |
|
|
|||||||
|
будут представлены данные, которые нужно |
|
|||||||
взаимодействие между собой. |
|
|
преобразовать с помощью этого приложения (исходные |
|
|||||
|
|
|
|
|
данные и результаты). |
|
|||
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
43 |
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
44 |
Кафедра |
Основные этапы создания |
|
Кафедра |
|
Основные этапы создания |
|
информатики |
Windows-приложений |
|
информатики |
Windows-приложений |
|
|
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
||
Разработка пользовательского интерфейса. |
|
Собственно программирование. Определение, какие |
||||
Интерфейс – это внешняя оболочка приложения, |
|
события будут происходить в процесс работы |
|
|||
позволяющая работать с информацией, хранящейся на |
|
приложения, составление алгоритмов процедур для этих |
||||
компьютере или за его пределами, а также информацией |
|
событий и написание их программных кодов. |
|
|||
вводимой пользователем. |
|
|
||||
|
Тестирование и отладка. Устранение синтаксических и |
|||||
Интерфейс должен обеспечит максимальное удобство и |
|
|||||
|
семантических (логических) ошибок в процедурах. |
|
||||
эффективность работы с информацией. |
|
|
||||
|
Синтаксические ошибки выявляются транслятором. |
|
||||
На этапе разработки пользовательского интерфейса |
|
|
||||
|
Семантические ошибки помогают выявить решения |
|
||||
создаются экранные формы (окна приложения) со всеми |
|
контрольных (тестовых) примеров. Интегрированные |
|
|||
находящимися на этой форме объектами и свойствами |
|
|
||||
|
среды разработки приложений располагают |
|
||||
этих объектов. При разработке интерфейса необходимо |
|
|
||||
|
эффективными инструментами для поиска источников |
|||||
учитывать, что интерфейс должен быть интуитивно |
|
|||||
|
логических ошибок. На этом этапе проводится анализ |
|||||
понятен пользователю, окна должны быть не |
|
|||||
|
результатов решения, и в случае необходимости – |
|
||||
перегружены, при необходимости можно использовать не |
|
|
||||
|
корректировка алгоритма и программы. |
|
||||
одну, а несколько форм, элементы управления на форме |
|
|
||||
необходимо группировать по смыслу. |
|
|
|
|
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
45 |
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
46 |
Кафедра |
Основные этапы создания |
|
Кафедра |
Структура приложения разработанного с |
|
|
информатики |
Windows-приложений |
|
информатики |
использованием ООП |
|
|
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
||
Создание исполняемого приложения (exe-файла). |
Приложение создаваемое с использованием |
|
||||
Превращение проекта в исполняемое приложение, |
|
|
ООП основано на модульном принципе. |
|
||
способное работать за пределами среды. |
|
|
Головной модуль состоит из объявления |
|
||
|
|
|
|
списка используемых модулей и нескольких |
|
|
Создание инсталляционного пакета. |
|
|
операторов, создающих объекты для |
|
||
Предусматривает подход к переносу проекта с |
|
|
необходимых форм и запускающих |
|
||
компьютера на компьютер путем инсталлирования, а не |
|
приложение на выполнение. |
|
|||
копирования (этап выполняется при необходимости). |
|
|
|
|||
|
|
|
|
|
||
|
|
|
Все объекты компонентов приложения |
|
||
|
|
|
|
размещаются в объектах – формах. |
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
47 |
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
48 |
Кафедра |
|
Структура приложения разработанного с |
|
Кафедра |
|
Интегрированные среды |
|
|
информатики |
|
использованием ООП |
|
информатики |
разработки приложений |
|
||
|
|
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
|
|
|
||
Форма обеспечивает создание графического интерфейса |
Для преодоления трудностей на этапе создания |
|||||||
|
разрабатываемого приложения и представляет собой |
|
интерфейса широкое распространение получило |
|||||
|
окно, на котором размещаются необходимые |
|
|
визуальное проектирование интерфейса. |
Работа |
|||
|
компоненты. |
|
|
стала производиться в Интегрированных Средах |
||||
Компонент – это объект класса, который обладает набором |
|
Разработки (IDE - ИСР) приложений, которые |
||||||
|
предоставляют программисту набор средств для |
|||||||
|
свойств, методов и событий. |
|
|
|||||
|
|
|
наглядного конструирования интерфейса. |
|
||||
|
|
|
|
|
|
|
||
Для каждой формы, проектируемого приложения, |
|
Этот набор средств заранее программно разработан, |
||||||
|
автоматически создает отдельный модуль, в который |
|||||||
|
|
определен перечень их свойств, методов и режимов |
||||||
|
пользователь может ввести собственный код, создавая |
|
||||||
|
|
использования. |
|
|||||
|
обработчики различных событий. Именно в модулях и |
|
|
|||||
|
осуществляется программирование задачи. |
|
Содержатся эти средства в стандартных библиотеках. |
|||||
|
|
|
|
|
||||
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
49 |
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
50 |
Кафедра |
|
Интегрированная среда разработки |
|
Кафедра |
Интегрированная среда разработки |
|||
информатики |
приложений Delphi (Lazarus) |
|
информатики |
приложений Lazarus |
|
|||
|
|
УГАТУ |
|
|
УГАТУ |
|||
К интегрированным средам разработки |
|
Интегрированная среда разработки приложений Lazarus предоставляет |
||||||
|
пользователю заготовку формы, на которой размещаются с помощью |
|||||||
приложений IDE относится Delphi, |
|
|||||||
|
мыши необходимые компоненты. |
|
||||||
разработанный фирмой Borland для ОС |
|
|
||||||
|
Изменять размеры и расположение этих компонент можно с помощью |
|||||||
Windows (очень дорогой) и Lazarus, который |
|
|||||||
|
простых манипуляций мыши. |
|
||||||
возник с целью создать бесплатную |
|
|
||||||
|
При этом в процессе проектирования можно постоянно видеть результат |
|||||||
конкуренцию программному продукту Borland |
|
|||||||
|
– изображение формы и расположенных на ней компонентов. |
|||||||
Delphi. |
|
|
Компоненты могут быть визуальными, видимыми при работе |
|||||
Lazarus – визуальная среда разработки |
|
|||||||
|
приложения, и невизуальными, выполняющими некоторые служебные |
|||||||
приложений профессионального уровня, |
|
функции, они отображаются в виде значка в процессе проектирования |
||||||
распространяемая бесплатно и |
|
и не видны при работе приложения (например, компонент Таймер). |
||||||
|
|
|
|
|
||||
конкурирующая с Delphi. |
|
В соответствующих диалоговых окнах можно изменить заданные по |
||||||
|
умолчанию свойства компонентов и, при необходимости, написать |
|||||||
|
|
|
|
|
||||
|
|
|
|
|
обработчики событий. |
|
||
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
51 |
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
52 |
Кафедра |
Интегрированная среда разработки |
|
Кафедра |
Интегрированная среда разработки |
|
|
информатики |
приложений Lazarus |
|
информатики |
приложений Lazarus |
|
|
|
|
УГАТУ |
|
УГАТУ |
||
|
|
|
|
|
||
Во время проектирования формы и размещения на ней |
|
Формат программного кода, задающего |
|
|||
|
установку свойства и использование метода: |
|
||||
компонентов редактор кода ИСР автоматически |
|
|
|
|
||
генерирует код программы, включая в нее |
|
|
Объект.Свойство:=Значение; |
|
||
соответствующие фрагменты, описывающие данный |
|
|
Объект.Метод ([Параметр[...]]); |
|
||
компонент. Это существенно сокращает время и |
|
|
|
|||
|
|
|
|
|||
облегчает процесс создания графического интерфейса |
|
|
|
|||
приложения. |
|
|
где Объект – имя настраиваемого объекта; |
|
||
Написание же программного кода, остается за |
|
Свойство – характеристика, которую нужно изменить; |
|
|||
|
|
|
|
|||
разработчиком и решается стандартными средствами |
|
Значение – новая установка свойства; |
|
|||
языка программирования Pascal. |
|
Метод – команда, которая используется для изменения объекта; |
||||
|
|
|
|
Параметр – аргумент, используемый методом. |
|
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
53 |
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
54 |
Кафедра |
Интегрированная среда разработки |
|
Кафедра |
Структура событийной процедуры |
|
|
информатики |
приложений Lazarus |
|
информатики |
|
||
|
|
УГАТУ |
|
|
УГАТУ |
|
|
|
|
|
|
|
|
Состояние объекта можно изменить двумя способами: |
Заголовок каждой событийной процедуры, написанной для |
|
||||
|
|
|
|
объекта на форме имеет следующий синтаксис: |
|
|
|
1. Изменить значение свойств (Properties), |
|
|
|
|
|
|
принадлежащих объекту (например, для |
|
|
. |
|
|
|
|
|
|
Procedure Имя_класса_формы ОбъектСобытие(параметры); |
||
|
текстового окна – его размер, цвет, тип |
|
|
|
|
|
|
шрифта), либо на стадии проектирования, |
|
Название процедуры состоит из Имени класса формы, для которой |
|||
|
либо задавая значения свойств в |
|
пишется событийная процедура, и после точки имени процедуры. |
|
||
|
программном коде. |
|
Имя процедуры ОбъектСобытие состоит из имени объекта, для которого |
|||
|
2. Применить к объекту методы (Methods), |
|
написана процедура и далее без пробела названия выбранного события. |
|||
|
определенные для данного объекта в языке |
|
В скобках после имени процедуры записываются ее параметры, которые |
|||
|
программирования (например, для |
|
могут и отсутствовать: |
|
||
|
графического окна – установить фокус, |
|
Например: |
|
||
|
очистить, выдать в него результат). |
|
|
|||
|
|
|
|
|
||
|
|
|
|
Procеdure TForm1.Button1Click(Sender: TObject); |
|
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
55 |
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
56 |
Кафедра |
Интегрированная среда разработки |
|
|
|
информатики |
приложений Lazarus |
|
|
|
|
УГАТУ |
|
УГАТУ |
|
|
|
|
|
|
Чтобы установить Lazarus на ваш компьютер |
|
|
|
|
нужно зайти на http://www.freepascal.ru и |
|
|
|
|
закачать последнюю стабильную версию |
|
|
|
|
Lazarus. |
|
|
|
|
В процессе установки следует согласиться с |
|
|
|
|
условиями лицензионного соглашения. |
|
|
|
|
После установки в меню программ появится |
|
|
|
|
новая группа: Lazarus. Запускаем его. |
|
|
|
|
Появится окно ИСР Lazarus. |
|
|
|
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
57 |
семестр 2, 2009 г. |
58 |
Кафедра |
|
|
Кафедра |
|
информатики |
Интегрированная среда разработки приложений Lazarus |
УГАТУ |
информатики Интегрированная среда разработки приложений Lazarus |
УГАТУ |
|
|
|
||
В верхней части окна ИСР отображается полоса |
|
Ниже меню расположены две инструментальные панели: |
|
|
главного меню. |
|
Левая – содержит два ряда кнопок, дублирующих некоторые |
|
|
|
|
|
наиболее часто используемые команды меню. |
|
|
|
|
Правая – (панель компонентов) содержит библиотеки |
|
|
|
|
визуальных компонентов, с помощью которых, как из |
|
|
|
|
«строительных блоков», собирается разрабатываемое |
|
|
|
|
приложение. |
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
59 |
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
60 |
Кафедра |
|
|
|
Кафедра |
|
|
|
|
|
|
информатики Интегрированная среда разработки приложений Lazarus |
УГАТУ |
информатики Интегрированная среда разработки приложений Lazarus |
УГАТУ |
|||||||
|
|
|
|
|
|
|
|
|
||
Палитра компонентов содержит ряд страниц, закладки которых видны |
ИСР содержит четыре окна: формы, редактора исходного |
|||||||||
в ее верхней части. Наиболее употребляемые из них: Standard и |
|
кода, |
инспектора объектов, сообщений: |
|
|
|||||
Additional. |
|
|
|
|
|
|
|
|
|
|
Стандартные компоненты (Standard ) – реализуют интерфейсные |
|
|
|
|
|
|
|
|
||
элементы среды Windows. Среди них: главное меню (ТMainMenu), |
|
|
|
|
|
|
|
|
||
кнопка (ТButton), метка (ТLabel), текстовое поле (ТEdit) и другие. |
|
|
|
|
|
|
|
|
||
Дополнительные компоненты (Additional) представляют собой |
|
|
|
|
|
|
|
|
||
различные дополнительные интерфейсные элементы – графическая |
|
|
|
|
|
|
|
|||
кнопка (ТBitBtn), окно для вывода графических файлов (ТImage) и |
|
|
|
|
|
|
|
|
||
другие. |
|
|
|
|
|
|
|
|
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, |
семестр 2, 2009 г. |
61 |
Информатика |
ФАП - 2, ФАТС – 2, 3 |
курс 1, |
семестр 2, |
2009 г. |
62 |
|
Кафедра |
|
|
|
Кафедра |
|
|
|
|
|
|
информатики Интегрированная среда разработки приложений Lazarus |
УГАТУ |
информатики Интегрированная среда разработки приложений Lazarus |
УГАТУ |
|||||||
|
|
|
|
|
|
|
|
|
||
Окно формы Form1 представляет собой заготовку |
|
|
|
|
|
|
|
|
||
(макет) окна разрабатываемого приложения. |
|
Окно инспектора объектов |
|
|
|
|
||||
|
|
|
|
отображает |
|
|
|
|
|
|
|
|
|
|
- иерархию компонентов |
|
|
|
|
||
|
|
|
|
приложения (верхняя часть); |
|
|
|
|
||
|
|
|
|
- четыре закладки Свойства, |
|
|
|
|
||
|
|
|
|
События, Избранное и |
|
|
|
|
||
|
|
|
|
Ограничения, которые |
|
|
|
|
||
|
|
|
|
позволяют задавать и |
|
|
|
|
||
|
|
|
|
изменять свойства объектов, |
|
|
|
|
||
|
|
|
|
выбирать событие, чтобы |
|
|
|
|
||
|
|
|
|
затем задать реакцию на |
|
|
|
|
||
|
|
|
|
него. |
|
|
|
|
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, |
семестр 2, 2009 г. |
63 |
Информатика |
ФАП - 2, ФАТС – 2, 3 |
курс 1, |
семестр 2, |
2009 г. |
64 |
Кафедра |
|
|
|
|
Кафедра |
Следующая лекция |
|
||
информатики Интегрированная среда разработки приложений Lazarus |
УГАТУ |
информатики |
УГАТУ |
||||||
|
|
|
|
|
|||||
Далее на экране |
|
|
|
|
|
|
|
|
|
появляется окно |
|
|
|
|
|
|
|
|
|
Редактора кода, в |
|
|
|
|
|
|
|
|
|
котором пишется |
|
|
|
|
|
|
|
|
|
программный код – |
|
|
|
|
|
|
|
|
|
событийная |
|
|
|
|
|
|
|
|
|
процедура: |
|
|
|
|
|
|
|
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 |
курс 1, |
семестр 2, 2009 г. |
65 |
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, |
семестр 2, 2009 г. |
66 |