Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_лекции.docx
Скачиваний:
2
Добавлен:
27.11.2019
Размер:
31.85 Кб
Скачать

Событийное управление

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

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

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

Шаблоны функций

Шаблоны функций позволяют автоматизировать создание функций обрабатывающих данные различных типов. Шаблоны семейства функций определяются один раз и состоит из заголовка шаблона template < список параметров шаблона > и определения функции

Каждому параметру шаблона предшествует слово class за которым следует имя параметра – идентификатор типа. Список параметров не может быть пустым, все параметры шаблона должны использоваться в описании формальных параметров функции. В определении функции тип возвращаемого результата и типы любых параметров обозначаются именами параметров шаблона. Эти же имена могут использоваться в локальных описаниях и определениях. Шаблон семейства функций используется компилятором для автоматической генерации определения функций по тем вызовам которые используются в программе.