§ 1. Объектно-событийная модель работы программы

1.1 Элементы управления в приложениях с графическим интерфейсом

Современные программы, с кото­рыми сегодня работают пользователи компьютера, отличаются от тех, ко­торые вы создавали раньше. Основное отличие — взаимодействие пользова­теля с программой.

Программы, которые вы создавали в 7—10-м классах, взаимодействовали с пользователем посредством тексто­вого интерфейса (часто его называют интерфейсом командной строки). По­сле запуска программы вы вводили данные, программа выполнялась, и вы видели результат. И ввод, и вывод данных осуществлялся в алфавитно­цифровой форме.

Операционные системы с графиче­ским оконным интерфейсом (напри­мер, Windows) предполагают общение пользователя с программой посред­ством элементов управления. К эле­ментам управления относят: кнопки, разнообразные меню, текстовые со­общения, списки и др. При работе программы пользователь выбирает какой-либо элемент управления и со­вершает с ним определенное действие (пример 1.1). Если такое действие для выбранного элемента было определе­но, то программа его выполняет, ина­че выдает сообщение об ошибке.

Многие системы программирова­ния позволяют создавать программы с оконным интерфейсом. Такие програм­мы называют оконными приложения­ми (Windows Form Application).

Проектирование интерфейса окна программы можно выполнять с ис­пользованием RAD-технологии (Rapid Application Development — быстрая разработка приложений). Технология RAD характерна для многих систем программирования. Быстрая разра­ботка стала возможной за счет того, что элементы управления были визуа­лизированы и собраны в специальные библиотеки — VCL (Visual Component Library — визуальная библиотека компонентов).

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

Визуальное программирование под­держивается в PascalABC и Delphi (код пишется на языке Pascal), VisualBasic, C# и др. (пример 1.2). Для обучения учащихся младших классов использу­ется визуальное программирование в среде Скретч (Scratch).

Создаются оконные приложения как проект и состоят из нескольких файлов. Внешний вид окна будущего приложения строится на форме. Для формы сохраняются два файла — один содержит описание внешнего вида фор­мы, другой — описание действий при выборе пользователем того или иного элемента управления. Главный файл проекта содержит описание его струк­туры, а также команды по созданию формы и запуску приложения.

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

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

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

1.2 События

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

Метод программирования, осно­ванный на управлении событи­ями, называют событийно-ориенти­рованным программированием.

Каждое событие связано с каким- либо объектом, которому передает­ся управление в тот момент време­ни, когда происходит событие. Среди основных событий можно выделить три категории: события мыши, собы­тия клавиатуры и системные события (примеры 1.4—1.6).

Процедура (или функция), ини­циируемая событием, называется обработчиком события.

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

Объектно-событийная модель про­граммы предполагает следующее:

  • создание объектов с присущими им свойствами и методами;
  • описание событий, при которых объект может выполнять алгоритм об­работки данных.

Основателем RAD считается со­трудник IBM, британский консуль­тант по информационным технологиям Джеймс Мартин (1933—2013), ко­торый в начале 1990-х гг. сформулиро­вал основные принципы RAD, основы­ваясь на идеях Барри Бойма и Скотта Шульца.

Пример 1.1. После загрузки какого- либо редактора пользователь может от­крыть файл для редактирования. При этом он выбирает меню Файл, находит в списке команду Открыть, выбирает нужный файл, нажимает кнопку От­крыть. Как мы видим, чтобы открыть файл, пользователь взаимодействует с такими элементами управления, как меню, список, кнопка.

Пример 1.2. Среды программирова­ния, в которых реализована поддержка парадигмы визуального программиро­вания.

Delphi:

PascalABC.Net:

Visual Studio для языка C#:

Пример 1.3. Основные элементы ин­терфейса:

Элементы управления на форме в среде программирования Delphi:

Элементы управления на форме в среде программирования PascalABC:

Многие элементы управления в разных средах имеют одинаковые или синонимичные имена (пример 1.3).

Пример 1.4. События мыши возника­ют в том случае, если пользователь про­изводит какие-либо действия с мышью:

Пример 1.5. События клавиатуры происходят при нажатии клавиш на клавиатуре:

Пример 1.6. Системные события управляются функциями операцион­ной системы:

1. Какие программы называют оконными приложениями?
2. Что понимают под событийным программированием?
3. Какие типы событий вы можете назвать?

Проверь себя