zoukankan      html  css  js  c++  java
  • 委托与事件的关系

    委托与事件的关系

      委托与事件的关系,可参照字段跟属性的关系来理解。

      属性的一个功能就是设置字段,可以给字段设置权限。字段可以是值类型,也可以是引用类型,当然包括数组在内。那么委托呢?委托是把方法参数化,想要使用方法时直接使用就可以了(有时候要在不同的地方使用同一个方法,如果把方法的引用交给委托,要使用的时候直接让委托占位(委托去调用这个或这些方法),就方便多了)。

      声明一个委托:public deletate void MyDelegate();

      可以把委托当做一个容器(名片夹),里面装的是方法的引用(这里我们可以把方法理解为工具,而引用就相当于工具的一个名片来标识工具的位置),容器里可以装很多的名片夹(可以注册(+=)多个方法给委托),需要使用时,会按照名片的顺序来调用方法(多播委托)。

      一个委托类型的变量可以引用一个或多个方法。

      

     

        事件的本质就是对委托的封装,约束委托什么时候执行委托里面的方法(不然委托岂不是无法无天逍遥自在了),事实上事件也是对委托的一种安全保护,委托可以赋值,而事件是需要注册的。再者,事件可以定点定量的执行委托,

        委托可以赋值时因为委托本身装的就是方法的引用,引用本身就是一个“值”,裸露的值有可能被更改(如果委托被重新赋值,那么注册的方法的引用就都会被冲掉。+=是注册,而=是全部刷掉再赋新的值给引用),而事件只能注册。后续...........

     

    图解:

     

      《《当做笔记》》

     

  • 相关阅读:
    使用定时器实现获取手机验证码倒计时
    搜索历史管理
    利用vue和jQuery实现中国主要城市搜索与选择
    使用vue、jQuery生成带有logo的二维码
    使用vue-cli脚手架搭建Vue项目
    postcss-px-to-viewport
    git命令操作篇
    小程序中live-player
    对于常用数组的方法总结
    css的加载中动画
  • 原文地址:https://www.cnblogs.com/newking/p/4375077.html
Copyright © 2011-2022 走看看