Объектно-событийная модель работы программы
§ 1, с. 6–9: интерфейс, объекты, свойства, методы, события и обработчики. Шесть авторских иллюстраций, модель «Лампа», четыре сценария и независимый выходной билет.
Конспект урока
Объектно-событийная модель работы программы
Как нажатие кнопки превращается в действие приложения.
К концу урока ты сможешь разобрать реакцию приложения: назвать объект, событие, обработчик и результат его работы.
Перед началом
Работай с разрешения учителя, соблюдай удобную посадку и порядок на рабочем месте. Не трогай провода и разъёмы. Если техника ведёт себя необычно, прекрати работу и сообщи учителю. Для практики достаточно браузера: устанавливать программы сегодня не нужно.
Подумай до объяснения. На экране две кнопки: «Включить» и «Выключить». Почему программа может отреагировать на любую из них, хотя заранее неизвестно, какую ты выберешь?
Окно приложения и элементы управления
В знакомой программе пользователь выбирает команды меню, вводит текст, нажимает кнопки. Оконное приложение организует такое взаимодействие через графический интерфейс. Кнопка, надпись, поле ввода, список и флажок выполняют разные задачи.
| Элемент | Для чего нужен | Пример в нашем приложении |
|---|---|---|
| Кнопка | Запустить действие | «Включить» |
| Надпись | Показать информацию | «Лампа выключена» |
| Поле ввода | Принять текст | Поле «Имя» |
Визуальная разработка и RAD
Визуальная среда позволяет размещать компоненты на форме и настраивать их вид. Подход RAD ускоряет создание приложения за счёт готовых компонентов и инструментов разработки. Программист всё равно определяет логику реакции на действия пользователя.
Форма служит основой окна. Проект объединяет файлы приложения. Устройство проекта и работу с формой подробно разберём на следующем уроке.
Проверь понимание: достаточно ли нарисовать кнопку?
Свойство описывает состояние, метод задаёт действие
Объект объединяет данные и способы работы с ними. У кнопки есть текст, размер, положение и другие свойства. Метод объекта выполняет предусмотренную операцию. Например, метод очистки текстового поля удаляет его содержимое.
| Что описываем | Пример | Контрольный вопрос |
|---|---|---|
| Объект | Кнопка «Включить» | С чем работаем? |
| Свойство | Текст кнопки или её ширина | Каково состояние? |
| Метод | Очистка содержимого поля | Какую операцию выполняет объект? |
В нашей демонстрации надпись меняется с «Лампа выключена» на «Лампа включена». Изменяется текст одного объекта. Кнопка, вызвавшая это изменение, остаётся той же кнопкой.
Задание: определи, что обозначает каждая запись: «ширина 120», «очистить поле», «кнопка» — объект, свойство или действие метода.
Что запускает реакцию программы
Событие сообщает, что что-то произошло с объектом или в системе. Обработчик — процедура или функция, которую вызывают в ответ на событие. Пока пользователь выбирает следующее действие, приложение готово обрабатывать поступающие события.
События мыши
Щелчок, перемещение указателя, нажатие и отпускание кнопки мыши — разные события. Для учебного разбора щелчок по кнопке обозначим Click. Названия и точное поведение событий зависят от среды.
События клавиатуры
Нажатие клавиши и её отпускание можно обрабатывать отдельно. При работе с полем ввода важно, какой элемент сейчас принимает ввод — то есть имеет фокус.
Системные события
Программа реагирует и на изменение размера окна, необходимость перерисовки, получение или потерю фокуса. В примерах учебника встречаются Resize, Paint, Enter и Leave. Здесь Enter означает получение фокуса, а не нажатие одноимённой клавиши.
Не все события вызывает мышь. Пользователь может работать с клавиатуры, а часть событий возникает при работе самой системы.
Одно нажатие по шагам
- Пользователь выбирает кнопку «Справка».
- Возникает событие
Click, связанное с кнопкой. - Программа вызывает назначенный обработчик.
- Обработчик устанавливает текст надписи «Выберите команду». На экране появляется инструкция.
Событие и обработчик различаются. Событие — факт, на который можно отреагировать. Обработчик — алгоритм этой реакции. Он может изменить свойство, вызвать метод или выполнить вычисление.
Самостоятельный вопрос: Что произойдёт, если обработчик не назначен?
Исследование приложения «Лампа» · 8 минут
Сначала предскажи результат, затем проверь его. В таблице наблюдений запиши: объект, событие, работу обработчика и изменение состояния. Подойдёт тетрадь или рабочий лист учителя.
Открыть учебную модель «Лампа». Учитель заранее открывает модель. Перед первым опытом лампа выключена, поле «Имя» и журнал пусты. Выполняй А–Г по порядку, без сброса между опытами.
Это авторская браузерная демонстрация принципа. Имена событий в её реализации не заменяют обозначения среды PascalABC.NET из учебника. Значение поля меняет стандартный механизм ввода; наш обработчик input только записывает наблюдение в журнал.
- Опыт А. Из исходного состояния нажми «Включить».
- Опыт Б. Нажми «Включить» ещё раз. Сравни статус и число записей.
- Опыт В. Нажми «Выключить».
- Опыт Г. Введи один символ «А» в поле «Имя». Проверь, изменилось ли состояние лампы.
Если справился раньше
Предложи кнопку «Переключить»: опиши словами, как обработчик должен выбрать новое состояние в зависимости от текущего. Объясни, чем это поведение отличается от кнопки «Включить».
Без компьютера
Используй выданный личный лист с правилами. Исходное состояние: лампа выключена, поле «Имя» и журнал пусты. Правило «Включить» устанавливает статус «Лампа включена», правило «Выключить» — «Лампа выключена»; каждый щелчок добавляет запись в журнал. Стандартный ввод меняет значение поля, наш обработчик только записывает новое значение и не меняет лампу. Пройди А–Г по порядку без сброса. В каждой строке запиши источник и событие, работу обработчика, изменившиеся и прежние значения. Каждый заполняет собственный лист. Работа на бумаге моделирует реакции и не считается выполнением действий в браузере.
Билет на выход
Сформулируй ответы самостоятельно, до открытия ключа.
- В справочнике щелчок кнопки «Очистить» вызывает обработчик, который удаляет текст из поля поиска. Назови объект — источник события, событие и изменяемое свойство другого объекта.
- Разработчик разместил на форме кнопку «Рассчитать» и поле результата, но не задал вычисление по нажатию. Достаточно ли этого? Что ещё требуется?
- Нет собственного обработчика перемещения мыши над надписью. Это обязательно ошибка? Объясни ответ.
Что важно запомнить
Объект хранит состояние и предоставляет методы. Событие запускает предусмотренную реакцию. Обработчик выполняет алгоритм. Чтобы объяснить работу приложения, проследи связь между этими понятиями на конкретном действии пользователя.
Домашнее задание
Прочитай § 1 учебника (с. 6–9), подготовь ответы на вопросы 1–3 на с. 9. Дополнительно по желанию: выбери знакомое приложение и опиши одну реакцию по схеме «объект — событие — обработчик — результат».
Учебная основа
В. М. Котов, А. И. Лапо, Ю. А. Быкадоров, Е. Н. Войтехович. Информатика. 11 класс. Народная асвета, 2021. § 1, с. 6–9. Электронная копия учебника.
Объём и место урока: официальная программа, базовый уровень. Поведение браузерной модели сверено с документацией MDN: события, ввод текста.
Примеры, практика и иллюстрации разработаны для этого урока. Иллюстрации условные и не являются снимками реального программного продукта.
Демонстрация
Материалы к уроку
Скачать и открыть
Материалы урока
2 материалаПодготовка к уроку
2 материала· для учителей
От сообщества
Материалы сообщества0
Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.
Поделитесь первым материалом
Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.
Комментарии
Войдите, чтобы оставлять комментарии.
Пока нет комментариев. Будьте первым!