什么是委托
委托是函数指针的“升级版” 。
一切皆地址
- 变量(数据)是以某个地址为起点的一段内存中所存储的值
- 函数(算法)是以某个地址为起点的一段内存中所存储的一组机器语言指令
直接调用与间接调用
直接调用:通过函数名来调用函数,CPU通过函数名直接获得函数所在地址并开始执行>返回
间接调用:通过函数指针来调用函数,CPU通过读取函数指针存储的值获得函数所在地址并开始执行→返回
Java中没有与委托相对应的功能实体
委托的简单使用
- Action委托 无参委托Action
- Func委托 有参委托Func
委托的声明(自定义委托)
- 委托是一种类(class),类是数据类型所以委托也是一种数据类型
- 它的声名方式与一般的类不同,主要是为了照顾可读性和C/C++传统
- 注意声明委托的位置
- 避免写错地方结果声明成嵌套类型
- 声明在namespace里面 与其他类同级
- 委托与所封装的方法必需“类型兼容“
- 返回值的数据类型一致
- 参数列表在个数和数据类型上