什么是回调函数?
- 将函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数。这个过程就叫做回调。主函数的执行完,回头再调用传进来的那个函数。
- 回调函数的作用通俗点讲就是完成了某个动作之后可以立马进行另一个动作,但那个动作你不确定具体会干什么,你可以根据不同的需求来进行不同的改变,这就是回调函数的作用
EG:你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。
code
using UnityEngine;
//这个类里我用到了上个类的求和方法,
//并且得到了一个要求,在求和之后需要把得数显示出来,
//那么我就可以直接在这个类里面写出打印的动作
public class XianShi : MonoBehaviour {
public int x;
public int y;
HuiDiaoHanShu hdhs = new HuiDiaoHanShu();
public void Start()
{
hdhs.AddNum(x, y, HaHaHa);
}
void HaHaHa(int z)
{
Debug.Log(z);
}
}
//定义一个回调函数类,里面有一个求和方法,求和结束还有动作,但具体干嘛还不知道。所有用了一个委托。
public class HuiDiaoHanShu
{
public delegate void callback(int a);
public void AddNum(int a, int b, callback call)
{
int count = a + b;
call(count);
}
}
回调函数的特点,在一个类里面定义,而在另一个类里面才有具体的实现方法,这样你想修改求和之后想做的动作时,直接修改call里面的东西即可,不用再到huidiaohanshu类里面修改