如果写程序是调用系统的API,那么把关系反过来,你写一个函数,让系统调用你的函数,那就是回调了,那个被系统调用的函数就是回调函数。
为某种抽象概念起个术语,可明确意识到此概念的存在,有助于学习理解。但理解后思考,可以不用太关心术语。不同场合,同一个概念往往有不同术语。
再将回调的概念泛化,比如某人同时关心 A, B, C, D, E, F 事件,并且这些事件是一组的,比如敲键盘,鼠标移动,鼠标点击等一组。将一组事件结合起来。java语言就映射成接口,接口有 N 个函数。c语言就映射成一个结构,里面放着 N 个函数指针。跟着就不是将单个函数指针传进去,而是将接口,或者函数指针的结构传进去。