Печатать книгуПечатать книгу

§ 4. Аб'ектна-падзейная мадэль работы праграмы

Сайт: Профильное обучение
Курс: Інфарматыка. 11 клас (Павышаны ўзровень)
Книга: § 4. Аб'ектна-падзейная мадэль работы праграмы
Напечатано:: Гость
Дата: Среда, 8 Май 2024, 13:06

4.1. Элементы кіравання ў дадатках з графічным інтэрфейсам

Сучасныя праграмы, з якімі сёння працуюць карыстальнікі камп'ютара, адрозніваюцца ад тых, якія вы стваралі раней. Асноўнае адрозненне — узаемадзеянне карыстальніка з праграмай.

Праграмы, якія вы стваралі раней, узаемадзейнічалі з карыстальнікам з дапамогай тэкставага інтэрфейса (часта яго называюць інтэрфейсам каманднага радка). Пасля запуску праграмы вы ўводзілі даныя, праграма выконвалася, і вы бачылі вынік. І ўвод, і вывад даных здяйсняўся ў алфавітна-лічбавай форме.

Аперацыйныя сістэмы з графічным аконным інтэрфейсам (напрыклад, Windows) мяркуюць зносіны карыстальніка з праграмай з дапамогай элементаў кіравання. Да элементаў кіравання адносяць: кнопкі, разнастайныя меню, тэкставыя паведамленні, спісы і інш. Пры працы праграмы карыстальнік выбірае якi-небудзь элемент кіравання і здзяйсняе з ім пэўнае дзеянне (прыклад 4.1). Калі такое дзеянне для абранага элемента было вызначана, то праграма яго выконвае, інакш выдае паведамленне пра памылку.

Многія сістэмы праграмiравання дазваляюць ствараць праграмы з аконным інтэрфейсам. Такія праграмы называюць аконнымі дадаткамi (Windows Application Form). Ствараюцца яны як праект і складаюцца з некалькіх файлаў. Знешнi выгляд акна будучага дадатку будуецца на форме. Для формы захоўваюцца два файла — адзін змяшчае апісанне знешняга выгляду формы, другi — апісанне дзеянняў пры выбары карыстальнікам таго ці іншага элемента кіравання. Галоўны файл праекта змяшчае апісанне яго структуры, а таксама каманды па стварэнні формы і запуску дадатку.

Усе элементы, размешчаныя на форме, і сама форма ўтвараюць сістэму аб'ектаў, якiя ўзаемадзейнiчаюць. Спосаб іх узаемадзеяння заснаваны на аб'ектна-арыентаваным праграмiраванні.

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

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

Візуальнае праграмiраванне падтрымліваецца ў PascalABC і Delphi (код пішацца на мове Pascal), VisualBasic, C # і інш. (прыклад 4.2). Для навучання вучняў малодшых класаў выкарыстоўваецца вiзуальнае праграмiраванне ў асяроддзі скрэтч (Scratch).

Код на мове праграмiравання С++ можна пісаць у такіх асяроддзях візуальнага праграмiравання, як C++Builder, Qt і інш.

Многія элементы кіравання ў розных асяроддзях маюць аднолькавыя або сінанімічныя імёны (прыклад 4.3).

Прыклад 4.1. Пасля загрузкі якога-небудзь рэдактара карыстальнік можа адкрыць файл для рэдагавання. Пры гэтым ён выбірае меню Файл, знаходзіць у спісе каманду Открыть, выбірае патрэбны файл, націскае кнопку Открыть. Для таго каб адкрыць файл, карыстальнік узаемадзейнічае з такімі элементамі кіравання, як меню, спіс, кнопка.

Прыклад 4.2. Асяроддзi праграмiравання, у якіх рэалізавана падтрымка парадыгмы візуальнага праграмiравання.

Delphi:

PascalABC:

VBA (Visual Basic for Applications):

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

C++Builder:


Заснавальнікам RAD лічыцца супрацоўнік IBM брытанскі кансультант па інфармацыйных тэхналогіях Джэймс Марцін (1933-2013), які ў пачатку 1990-х гг. сфармуляваў асноўныя прынцыпы RAD, грунтуючыся на ідэях Бары Бойма і Скота Шульца. Технология RAD мяркуе, што распрацоўка ПЗ здяйсняецца невялікай камандай распрацоўнікаў за невялiкi час.

Прыклад 4.3. Асноўныя элементы інтэрфейса:

Элемент кіравання

Імя

Кнопка

Button

Надпіс

Label

Поле для ўводу тэксту

TextBox (Edit)

Флажок

CheckBox

Радыёкнопка

RadioButton

Спіс

ListBox

Выпадальны спіс

ComboBox

Малюнак

PictureBox (Image)

Элементы кіравання на форме ў асяроддзі праграмiравання C++Builder:

Элементы кіравання на форме ў асяроддзі праграмiравання PascalABC:

4.2. Падзеі

Арганізацыя ўзаемадзеяння паміж праграмай і карыстальнікам кіруецца падзеямі: карыстальнік можа націснуць на клавішу мышы або клавіятуры, перамясціць мыш, увесці тэкст і інш.

Метад праграмiравання, заснаваны на кіраванні падзеямі, называюць падзейна-арыентаваным праграмiраваннем.

Кожная падзея звязана з якім-небудзь аб'ектам, якому перадаецца кіраванне ў той момант часу, калі адбываецца падзея.

Функцыя, ініцыяваная падзеяй, называецца апрацоўшчыкам падзеі.

У сучасных мовах праграмiравання падзеі і апрацоўшчыкі падзей з'яўляюцца цэнтральным звяном рэалізацыі графічнага інтэрфейса карыстальніка. Сярод асноўных падзей можна вылучыць тры катэгорыі: падзеі мышы, падзеі клавіятуры і сістэмныя падзеі (прыклады 4.44.6).

Запушчаны на выкананне праект знаходзіцца ў рэжыме чакання, рэагуючы на падзеі, улічаныя пры яго стварэнні, выкліканыя дзеяннямі карыстальніка або якія ўзнікаюць у самой праграме.

Аб'ектна-падзейная мадэль праграмы прадугледжвае наступнае:

  • стварэнне аб'ектаў з характэрнымі ім уласцівасцямі і метадамі;
  • апісанне падзей, пры якіх аб'ект можа выконваць алгарытм апрацоўкі даных, змяняць свой стан або актывізаваць іншы аб'ект.

Прыклад 4.4. Падзеі мышы ўзнікаюць у тым выпадку, калі карыстальнік здзяйсняе якія-небудзь дзеянні з мышшу:

Click

Націск левай кнопкі мышы

DblClick

Двайная пстрычка левай кнопкай мышы

MouseDown

Націск на любую кнопку мышы. Параметры апрацоўшчыка падзеі дазваляюць вызначыць, якая з кнопак была націснутая, і ў якім пункце.

MouseUp

Вызваленне кнопкі мышы, якая была націснутая

MouseMove

Перамяшчэнне паказальніка мышы

Прыклад 4.5. Падзеі клавіятуры адбываюцца пры націску клавіш на клавіятуры:

KeyDown

Націск любой клавішы, уключаючы функцыянальныя і спецыяльныя

KeyPress

Націск клавішы з тэкставым сімвалам

KeyUp

Вызваленне любой клавішы

Прыклад 4.6. Сістэмныя падзеі кіруюцца функцыямі аперацыйнай сістэмы:

Create

Адбываецца пры стварэнні аб'екта

Paint

Узнікае, калі элемент неабходна перамаляваць

Resize

Адбываецца, калі памеры элемента змяняюцца

Enter

Узнікае, калі элемент кіравання становіцца актыўным

Leave

Адбываецца, калі элемент кіравання перастае быць актыўным

Пытаннi да параграфа

1.  Якія праграмы называюць аконнымі дадаткамі?

2. Што разумеюць пад падзейным праграмiраваннем?

3. Якія тыпы падзей вы можаце назваць?