Перейти к содержанию
MediaSchool

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

§ 1, с. 6–9: интерфейс, объекты, свойства, методы, события и обработчики. Шесть авторских иллюстраций, модель «Лампа», четыре сценария и независимый выходной билет.

Открыт · Интерактивная модель · Презентация · Методичка

Конспект урока

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

Как нажатие кнопки превращается в действие приложения.

К концу урока ты сможешь разобрать реакцию приложения: назвать объект, событие, обработчик и результат его работы.

Перед началом

Работай с разрешения учителя, соблюдай удобную посадку и порядок на рабочем месте. Не трогай провода и разъёмы. Если техника ведёт себя необычно, прекрати работу и сообщи учителю. Для практики достаточно браузера: устанавливать программы сегодня не нужно.

Подумай до объяснения. На экране две кнопки: «Включить» и «Выключить». Почему программа может отреагировать на любую из них, хотя заранее неизвестно, какую ты выберешь?

Окно приложения и элементы управления

В знакомой программе пользователь выбирает команды меню, вводит текст, нажимает кнопки. Оконное приложение организует такое взаимодействие через графический интерфейс. Кнопка, надпись, поле ввода, список и флажок выполняют разные задачи.

ЭлементДля чего нуженПример в нашем приложении
КнопкаЗапустить действие«Включить»
НадписьПоказать информацию«Лампа выключена»
Поле вводаПринять текстПоле «Имя»

Визуальная разработка и RAD

Визуальная среда позволяет размещать компоненты на форме и настраивать их вид. Подход RAD ускоряет создание приложения за счёт готовых компонентов и инструментов разработки. Программист всё равно определяет логику реакции на действия пользователя.

Форма служит основой окна. Проект объединяет файлы приложения. Устройство проекта и работу с формой подробно разберём на следующем уроке.

Проверь понимание: достаточно ли нарисовать кнопку?

Свойство описывает состояние, метод задаёт действие

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

Что описываемПримерКонтрольный вопрос
ОбъектКнопка «Включить»С чем работаем?
СвойствоТекст кнопки или её ширинаКаково состояние?
МетодОчистка содержимого поляКакую операцию выполняет объект?

В нашей демонстрации надпись меняется с «Лампа выключена» на «Лампа включена». Изменяется текст одного объекта. Кнопка, вызвавшая это изменение, остаётся той же кнопкой.

Задание: определи, что обозначает каждая запись: «ширина 120», «очистить поле», «кнопка» — объект, свойство или действие метода.

Что запускает реакцию программы

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

События мыши

Щелчок, перемещение указателя, нажатие и отпускание кнопки мыши — разные события. Для учебного разбора щелчок по кнопке обозначим Click. Названия и точное поведение событий зависят от среды.

События клавиатуры

Нажатие клавиши и её отпускание можно обрабатывать отдельно. При работе с полем ввода важно, какой элемент сейчас принимает ввод — то есть имеет фокус.

Системные события

Программа реагирует и на изменение размера окна, необходимость перерисовки, получение или потерю фокуса. В примерах учебника встречаются Resize, Paint, Enter и Leave. Здесь Enter означает получение фокуса, а не нажатие одноимённой клавиши.

Не все события вызывает мышь. Пользователь может работать с клавиатуры, а часть событий возникает при работе самой системы.

Одно нажатие по шагам

  1. Пользователь выбирает кнопку «Справка».
  2. Возникает событие Click, связанное с кнопкой.
  3. Программа вызывает назначенный обработчик.
  4. Обработчик устанавливает текст надписи «Выберите команду». На экране появляется инструкция.

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

Самостоятельный вопрос: Что произойдёт, если обработчик не назначен?

Исследование приложения «Лампа» · 8 минут

Сначала предскажи результат, затем проверь его. В таблице наблюдений запиши: объект, событие, работу обработчика и изменение состояния. Подойдёт тетрадь или рабочий лист учителя.

Открыть учебную модель «Лампа». Учитель заранее открывает модель. Перед первым опытом лампа выключена, поле «Имя» и журнал пусты. Выполняй А–Г по порядку, без сброса между опытами.

Это авторская браузерная демонстрация принципа. Имена событий в её реализации не заменяют обозначения среды PascalABC.NET из учебника. Значение поля меняет стандартный механизм ввода; наш обработчик input только записывает наблюдение в журнал.

  1. Опыт А. Из исходного состояния нажми «Включить».
  2. Опыт Б. Нажми «Включить» ещё раз. Сравни статус и число записей.
  3. Опыт В. Нажми «Выключить».
  4. Опыт Г. Введи один символ «А» в поле «Имя». Проверь, изменилось ли состояние лампы.

Если справился раньше

Предложи кнопку «Переключить»: опиши словами, как обработчик должен выбрать новое состояние в зависимости от текущего. Объясни, чем это поведение отличается от кнопки «Включить».

Без компьютера

Используй выданный личный лист с правилами. Исходное состояние: лампа выключена, поле «Имя» и журнал пусты. Правило «Включить» устанавливает статус «Лампа включена», правило «Выключить» — «Лампа выключена»; каждый щелчок добавляет запись в журнал. Стандартный ввод меняет значение поля, наш обработчик только записывает новое значение и не меняет лампу. Пройди А–Г по порядку без сброса. В каждой строке запиши источник и событие, работу обработчика, изменившиеся и прежние значения. Каждый заполняет собственный лист. Работа на бумаге моделирует реакции и не считается выполнением действий в браузере.

Билет на выход

Сформулируй ответы самостоятельно, до открытия ключа.

  1. В справочнике щелчок кнопки «Очистить» вызывает обработчик, который удаляет текст из поля поиска. Назови объект — источник события, событие и изменяемое свойство другого объекта.
  2. Разработчик разместил на форме кнопку «Рассчитать» и поле результата, но не задал вычисление по нажатию. Достаточно ли этого? Что ещё требуется?
  3. Нет собственного обработчика перемещения мыши над надписью. Это обязательно ошибка? Объясни ответ.

Что важно запомнить

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

Домашнее задание

Прочитай § 1 учебника (с. 6–9), подготовь ответы на вопросы 1–3 на с. 9. Дополнительно по желанию: выбери знакомое приложение и опиши одну реакцию по схеме «объект — событие — обработчик — результат».

Учебная основа

В. М. Котов, А. И. Лапо, Ю. А. Быкадоров, Е. Н. Войтехович. Информатика. 11 класс. Народная асвета, 2021. § 1, с. 6–9. Электронная копия учебника.

Объём и место урока: официальная программа, базовый уровень. Поведение браузерной модели сверено с документацией MDN: события, ввод текста.

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

Демонстрация

Материалы к уроку

Скачать и открыть

Материалы урока

2 материала

Подготовка к уроку

2 материала

От сообщества

Материалы сообщества0

Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.

Поделиться материалом

Поделитесь первым материалом

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

Комментарии

Войдите, чтобы оставлять комментарии.

Пока нет комментариев. Будьте первым!