-
An event is a member that enables an object or class to provide notifications.
-
事件是一种类型成员,一个类中最重要的三个成员:属性,方法,事件
-
事件可以“发生”,通知别人,发生后的效果,才是事件的功能
-
事件模型的五个步骤
-
我(类)要有一个事件(成员)
-
一群别的类关心,订阅我的事件
-
我的事件发生了
-
关心的类们被一次性通知到
-
被通知到的人,拿着事件参数,做出响应
-
-
事件模型的五个组成部分
组成部分 | 类比 |
---|---|
事件的拥有者 | 舍友(闹钟) |
事件 | 闹钟响了 |
事件的响应者 | 早起的舍鸟 |
事件处理器 | 起床 |
事件订阅(+=操作) | +=(你的舍友订阅了自己闹钟) |
-
事件不会主动发生,一定是由事件拥有者的内部逻辑触发
-
事件的运用可以降低耦合性,保护程序不会内存泄漏
-
事件处理器是事件响应者用于处理事件的方法(Methods):这个方法必须和事件的委托类型匹配
-
订阅关系(+=)解决的三个问题
-
事件发生后,通知的一定是【订阅】了事件的对象们
-
事件处理器和事件的关系:
-
本质就是事件处理器和返回值参表是否和事件的委托类型一致
-
-
具体哪个事件处理器,处理这个事件
-
因为一个事件响应者,可能有很多个满足约定的事件处理器
-
-