Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
20 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
716.32 kB
Просмотров:
62
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Механизм событий. лекция](/documents_6/7963a2e49536f74e95396a277de70674/img0.jpg)
Содержание слайда: Механизм событий.
лекция №16
№2 слайд![События События позволяют](/documents_6/7963a2e49536f74e95396a277de70674/img1.jpg)
Содержание слайда: События
События позволяют классу или объекту уведомлять другие классы или объекты о возникновении каких-либо ситуаций. Класс, отправляющий (или вызывающий) событие, называется издателем, а классы, принимающие (или обрабатывающие) событие, называются подписчиками.
№3 слайд![Описание события атрибуты](/documents_6/7963a2e49536f74e95396a277de70674/img2.jpg)
Содержание слайда: Описание события
[ атрибуты ] [ спецификаторы ] event тип имя обытия
№4 слайд![Описание события](/documents_6/7963a2e49536f74e95396a277de70674/img3.jpg)
Содержание слайда: Описание события
№5 слайд![Процесс создания события](/documents_6/7963a2e49536f74e95396a277de70674/img4.jpg)
Содержание слайда: Процесс создания события
Создание события в классе состоит из следующих частей:
описание делегата, задающего сигнатуру обработчиков событий;
описание события;
описание метода (методов), инициирующих событие.
№6 слайд![Пример события public](/documents_6/7963a2e49536f74e95396a277de70674/img5.jpg)
Содержание слайда: Пример события
public delegate void Del( object о ); // объявление делегата
class А
{
public event Del Oops; // объявление события
}
№7 слайд![Важно помнить Событие это](/documents_6/7963a2e49536f74e95396a277de70674/img6.jpg)
Содержание слайда: Важно помнить
Событие — это удобная абстракция для программиста. На самом деле оно состоит из закрытого статического класса, в котором создается экземпляр делегата, и двух методов, предназначенных для добавления и удаления обработчика из списка этого делегата.
№8 слайд![Подписка на событие Внешний](/documents_6/7963a2e49536f74e95396a277de70674/img7.jpg)
Содержание слайда: Подписка на событие
Внешний код может работать с событиями единственным образом: добавлять обработчики(+=) в список или удалять их(-=).
№9 слайд![Паттерн наблюдатель](/documents_6/7963a2e49536f74e95396a277de70674/img8.jpg)
Содержание слайда: Паттерн наблюдатель
№10 слайд![Паттерн наблюдатель](/documents_6/7963a2e49536f74e95396a277de70674/img9.jpg)
Содержание слайда: Паттерн наблюдатель
№11 слайд![Полная форма события Имя](/documents_6/7963a2e49536f74e95396a277de70674/img10.jpg)
Содержание слайда: Полная форма события
Имя делегата заканчивается суффиксом EventHandler;
делегат получает два параметра:
О первый параметр задает источник события и имеет тип object;
О второй параметр задает аргументы события и имеет тип EventArgs или производный от него.
№12 слайд![Полная форма события](/documents_6/7963a2e49536f74e95396a277de70674/img11.jpg)
Содержание слайда: Полная форма события
№13 слайд![](/documents_6/7963a2e49536f74e95396a277de70674/img12.jpg)
№14 слайд![Анонимный обработчик](/documents_6/7963a2e49536f74e95396a277de70674/img13.jpg)
Содержание слайда: Анонимный обработчик
№15 слайд![Аргументы события EventArgs](/documents_6/7963a2e49536f74e95396a277de70674/img14.jpg)
Содержание слайда: Аргументы события
EventArgs служит в качестве базового класса, от которого получается производный класс, содержащий все необходимые поля для обработчика событий.
№16 слайд![Аргументы события class](/documents_6/7963a2e49536f74e95396a277de70674/img15.jpg)
Содержание слайда: Аргументы события
class MyEventArgs : EventArgs
{ public char ch; }
№17 слайд![Аргументы события class](/documents_6/7963a2e49536f74e95396a277de70674/img16.jpg)
Содержание слайда: Аргументы события
class KeyEvent {
// Создадим событие, используя обобщенный делегат
public
event EventHandler<MyEventArgs> KeyDown;
public void OnKeyDown(char ch) {
MyEventArgs c = new MyEventArgs();
if (KeyDown != null)
{ c.ch = ch; KeyDown(this, c); } } }
№18 слайд![Аксессоры событий event](/documents_6/7963a2e49536f74e95396a277de70674/img17.jpg)
Содержание слайда: Аксессоры событий
event делегат_события имя_события {
add { // Код добавления события в цепочку событий }
remove { // Код удаления события из цепочки событий } }
№19 слайд![Аксессоры событий Длинная](/documents_6/7963a2e49536f74e95396a277de70674/img18.jpg)
Содержание слайда: Аксессоры событий
Длинная нотация для определения событий удобна, если необходимо сделать нечто большее, чем просто добавлять и удалять обработчики событий, например, добавить синхронизацию для многопоточного доступа.
№20 слайд![Домашнее задание Учебник](/documents_6/7963a2e49536f74e95396a277de70674/img19.jpg)
Содержание слайда: Домашнее задание
Учебник Павловской
Повторить 1-10 главу