Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Механизм событий

Содержание

СобытияСобытия позволяют классу или объекту уведомлять другие классы или объекты о возникновении каких-либо ситуаций. Класс, отправляющий (или вызывающий) событие, называется издателем, а классы, принимающие (или обрабатывающие) событие, называются подписчиками.
Механизм событий. лекция №16 СобытияСобытия позволяют классу или объекту уведомлять другие классы или объекты о возникновении каких-либо ситуаций. Описание события[ атрибуты ] [ спецификаторы ] event тип имя обытия Описание события Процесс создания событияСоздание события в классе состоит из следующих частей:описание делегата, задающего Пример событияpublic delegate void Del( object о ); // объявление делегатаclass А{public Важно помнитьСобытие — это удобная абстракция для программиста. На самом деле оно Подписка на событиеВнешний код может работать с событиями единственным образом: добавлять обработчики(+=) Паттерн наблюдательЧерез делегатыЧерез события Паттерн наблюдательЧерез делегатыЧерез события Полная форма событияИмя делегата заканчивается суффиксом EventHandler;делегат получает два параметра:О первый параметр Полная форма события Анонимный обработчик Аргументы событияEventArgs служит в качестве базового класса, от которого получается производный класс, Аргументы событияclass MyEventArgs : EventArgs { public char ch; } Аргументы событияclass KeyEvent { // Создадим событие, используя обобщенный делегат public Аксессоры событийevent делегат_события имя_события { add { // Код добавления события в Аксессоры событийДлинная нотация для определения событий удобна, если необходимо сделать нечто большее, Домашнее заданиеУчебник ПавловскойПовторить 1-10 главу
Слайды презентации

Слайд 2 События
События позволяют классу или объекту уведомлять другие классы или объекты

СобытияСобытия позволяют классу или объекту уведомлять другие классы или объекты о возникновении каких-либо

о возникновении каких-либо ситуаций. Класс, отправляющий (или вызывающий) событие, называется издателем,

а классы, принимающие (или обрабатывающие) событие, называются подписчиками.

Слайд 3 Описание события
[ атрибуты ] [ спецификаторы ] event

Описание события[ атрибуты ] [ спецификаторы ] event тип имя обытия

тип имя обытия


Слайд 4 Описание события

Описание события

Слайд 5 Процесс создания события
Создание события в классе состоит из

Процесс создания событияСоздание события в классе состоит из следующих частей:описание делегата,

следующих частей:
описание делегата, задающего сигнатуру обработчиков событий;
описание события;
описание метода

(методов), инициирующих событие.

Слайд 6 Пример события
public delegate void Del( object о );

Пример событияpublic delegate void Del( object о ); // объявление делегатаclass

// объявление делегата
class А
{
public event Del Oops; // объявление

события
}

Слайд 7 Важно помнить
Событие — это удобная абстракция для программиста.

Важно помнитьСобытие — это удобная абстракция для программиста. На самом деле

На самом деле оно состоит из закрытого статического класса,

в котором создается экземпляр делегата, и двух методов, предназначенных для добавления и удаления обработчика из списка этого делегата.

Слайд 8 Подписка на событие
Внешний код может работать с событиями

Подписка на событиеВнешний код может работать с событиями единственным образом: добавлять

единственным образом: добавлять обработчики(+=) в список или удалять их(-=).


Слайд 9 Паттерн наблюдатель
Через делегаты
Через события

Паттерн наблюдательЧерез делегатыЧерез события

Слайд 10 Паттерн наблюдатель
Через делегаты
Через события

Паттерн наблюдательЧерез делегатыЧерез события

Слайд 11 Полная форма события
Имя делегата заканчивается суффиксом EventHandler;
делегат получает

Полная форма событияИмя делегата заканчивается суффиксом EventHandler;делегат получает два параметра:О первый

два параметра:
О первый параметр задает источник события и имеет

тип object;
О второй параметр задает аргументы события и имеет тип EventArgs или производный от него.

Слайд 12 Полная форма события

Полная форма события

Слайд 14 Анонимный обработчик

Анонимный обработчик

Слайд 15 Аргументы события
EventArgs служит в качестве базового класса, от

Аргументы событияEventArgs служит в качестве базового класса, от которого получается производный

которого получается производный класс, содержащий все необходимые поля для

обработчика событий.

Слайд 16 Аргументы события
class MyEventArgs : EventArgs
{ public char

Аргументы событияclass MyEventArgs : EventArgs { public char ch; }

ch; }


Слайд 17 Аргументы события
class KeyEvent {
// Создадим событие, используя

Аргументы событияclass KeyEvent { // Создадим событие, используя обобщенный делегат public

обобщенный делегат
public
event EventHandler KeyDown;
public

void OnKeyDown(char ch) {
MyEventArgs c = new MyEventArgs();
if (KeyDown != null)
{ c.ch = ch; KeyDown(this, c); } } }

Слайд 18 Аксессоры событий
event делегат_события имя_события {
add { //

Аксессоры событийevent делегат_события имя_события { add { // Код добавления события

Код добавления события в цепочку событий }
remove {

// Код удаления события из цепочки событий } }

Слайд 19 Аксессоры событий
Длинная нотация для определения событий удобна, если

Аксессоры событийДлинная нотация для определения событий удобна, если необходимо сделать нечто

необходимо сделать нечто большее, чем просто добавлять и удалять

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

  • Имя файла: mehanizm-sobytiy.pptx
  • Количество просмотров: 92
  • Количество скачиваний: 0
- Предыдущая Official letter