委托事件(未完待续...)
来源:互联网 发布:linux查看svn仓库目录 编辑:程序博客网 时间:2024/06/05 09:50
先来看一个例子:
某人有三子,让他们各自带一样东西出门,并带回一头猎物。
可以理解为一种父亲对儿子的委托:
猎物 办法(工具 某工具)
三个人执行委托的方法各不相同
兔子 打猎(工具 弓)
野鸡 买(工具 钱)
狼 诱捕(工具 陷阱)
什么是委托?
委托是一个类型,用来指称所有形式相同的方法(返回值类型相同而且参数也相同)。
public delegate double Handler(double[] ds);
public double Sum(double[] ds) {//在方法中执行操作。}
public double Average(double[] ds) {//在方法中执行操作。}
委托的实例化
用new关键字(将方法名作为参数)生成一个委托对象,建立委托与方法的关联。
例:
Handler handler = new Handler(Sum);
使用委托
可以像使用变量一样使用委托的实例。使用委托时,需要给委托按要求传递参数。
使用委托,则委托所关联的方法被调用。
例:
double[] weights={1.0,2.0,3.0,4.0};
double result=handler(weights);
一个委托可以通过+运算委托关联多个方法,叫多路广播委托(对应于单路广播委托)。
如果此时使用委托,则所有的关联方法都被调用。
例:
Handler handler = new Handler(Sum);
handler += new Handler(Average);
某人有三子,让他们各自带一样东西出门,并带回一头猎物。
可以理解为一种父亲对儿子的委托:
猎物 办法(工具 某工具)
三个人执行委托的方法各不相同
兔子 打猎(工具 弓)
野鸡 买(工具 钱)
狼 诱捕(工具 陷阱)
什么是委托?
委托是一个类型,用来指称所有形式相同的方法(返回值类型相同而且参数也相同)。
public delegate double Handler(double[] ds);
public double Sum(double[] ds) {//在方法中执行操作。}
public double Average(double[] ds) {//在方法中执行操作。}
委托的实例化
用new关键字(将方法名作为参数)生成一个委托对象,建立委托与方法的关联。
例:
Handler handler = new Handler(Sum);
使用委托
可以像使用变量一样使用委托的实例。使用委托时,需要给委托按要求传递参数。
使用委托,则委托所关联的方法被调用。
例:
double[] weights={1.0,2.0,3.0,4.0};
double result=handler(weights);
一个委托可以通过+运算委托关联多个方法,叫多路广播委托(对应于单路广播委托)。
如果此时使用委托,则所有的关联方法都被调用。
例:
Handler handler = new Handler(Sum);
handler += new Handler(Average);
0 0
- 委托事件(未完待续...)
- 委托事件(未完待续...)
- js事件总结<未完----待续>
- POJ1753(未完待续)
- TreeMap(未完待续)
- HashTable(未完待续)
- string(未完待续)
- 方向(未完待续)
- 红黑树(未完待续)
- 源代码(未完待续)
- 绪论(未完待续)
- (未完待续)
- 认识Shark(未完待续)
- 一些算法(未完待续)
- 一些数据结构(未完待续)
- Struts2优缺点(未完待续)
- 生死游戏(未完待续)
- libcurl - curl_formadd()(未完,待续)
- 算法训练 最小乘积(基本型) java蓝桥杯
- 如何基于场景设计产品-笔记(20160418)
- Hierarchy Viewer布局检测工具的使用
- android studio 签名并打包
- ACM_容斥原理
- 委托事件(未完待续...)
- handler机制的原理
- Profiler.BeginSample 开始采样
- 安卓013Intent
- Android API Guides---RenderScript Numerical Types
- Mybatis 使用mybatis_Generator 生成PO类 、mapper.java 类、Mappering.xml映射文件
- 【NOIP2015】IOIOI卡片占卜
- 卡尔曼滤波简介说明及其算法MATLAB实现代码
- Android 自己实现 NavigationView [Design Support Library(1)]