
- •Тема 4. Делегаты, события и обработка исключений
- •4.1. Делегаты – специальные классы
- •4.1.1. Описание и использование делегатов
- •4.1.2 Групповые (многоадресные) делегаты
- •4.2. События – члены класса
- •4.3. Обработка исключений в среде .Net Framework
- •4.4. Задачи для самостоятельного решения
- •4.5. Лабораторная работа по теме «Делегаты, события и обработка исключений»
- •4.5.1. Задание
- •4.5.2. Варианты индивидуальных заданий
- •4.5.3. Содержание отчета
- •4.5.4. Пример выполнения задания
- •Определите для выделенных классов существенные в данной задаче интерфейсные члены класса:
- •Объектная модель программного проекта на логическом уровне:
- •Уточните состав классов объектной модели, проведите дальнейшую формализацию, уточните логическую структуру и связи между классами.
- •Графический интерфейс пользователя:
- •Объектная модель задачи на уровне реализации:
- •6.2. Схема алгоритма метода исследования:
- •6.3) Программные коды проектов приведены на рис 4.5-5 и 4.5-6.
- •Схемы классов объектных моделей уровня реализации, построенных по программному коду:
- •Объектная модель проекта Делегат построение таблиц значений двух функций с использованием делегата в качестве параметра метода
- •Результаты выполнения приложения.
- •4.6. Контрольные вопросы
Схемы классов объектных моделей уровня реализации, построенных по программному коду:
Схемы классов проектов уровня реализации, построенных по программному коду, приведены на рис. 4.5-7 а) и 4.5-7 б).
а)
Рис. 4.5-7. Схемы классов уровня реализации
Объектная модель проекта Делегат построение таблиц значений двух функций с использованием делегата в качестве параметра метода
б) Объектная модель проекта Наследник построение таблиц значений двух функций с помощью абстрактного класса и его наследников
Результаты выполнения приложения.
Результаты работ проектов совпадают и приведены на рис. 4.5-8.
Рис. 4.5-8. Результаты выполнения проектов Делегат и Наследник
4.6. Контрольные вопросы
Что такое делегат? Для чего нужны делегаты?
Как описать делегат-тип?
Как создать экземпляр делегата?
Опишите порядок создания и вызова многоадресного делегата.
Для чего нужны групповые делегаты?
Можно ли сформировать групповой делегат из методов-функций?
Что такое обратный вызов? Когда он используется?
Как можно использовать делегат для создания универсальных методов? Каким образом можно создать универсальный метод без использования делегата?
Каким образом объекты посылают друг другу сообщения?
Как описать член класса - событие? Каким образом генерируется событие?
Для чего используются модель «подписка/публикация»?
Что является обработчиком события?
Какими способами можно связать событие с обработчиком в языке VB? Назовите преимущества и недостатки каждого способа.
Можно ли одно событие обработать несколькими обработчиками и несколько событий – одним обработчиком? Если да, то как? Если нет – то почему?
Что такое динамическое подключение и отключение обработчиков событий? Как его осуществить?
Что такое исключение? Перечислите известные вам стандартные исключения.
Как осуществляется обработка исключений в языке VB?
Каким образом можно сгенерировать собственное исключение?
Из чего состоит блок обработки исключений? Опишите порядок работы этого блока.
Каким образом можно продолжить выполнение программы при возникновении исключительной ситуации?