回调函数
来源:互联网 发布:c语言程序停止 编辑:程序博客网 时间:2024/06/05 10:17
回调函数就是函数指针的一种用法。
普通的函数commonFunction,可以向其传递参数,我们对于这个commonFunction进行了一些自定义操作,因为参数对象是我们给定的。
我们是否可以进一步,除了参数对象自定义,我们是否可以自定义一些其他行为呢? 可以 !
参照类多态的概念,针对函数,对其进行一个简单的“多态”操作。
到底函数怎么“多态”呢 ? 我们可以往函数中传入其他函数,具体来说,这个函数我们用指针方式传入。
————————————————————————————————————————————————
举个例子,老师要喝水。
把想要喝水封装成一个函数wannaDrink (),
当老师准备喝水的时候,除了可以指定倒水的具体同学,还可以指定同学取水的方式。
可以让同学从商店买水,我们把这个行为封装成函数buyWater();
也可以让同学从饮水机打水,我们把这个行为封装成函数getWaterDispenser();
————————————————————————————————————————————————
下面是伪代码:
void buyWater ( ){ };//取水方式
void getWaterDispenser ( ){ };//取水方式
wannaDrink( stu , void * action ) ){ //喝水动作
stu 走出教室
action ( ) ; //进行取水操作,这操作是我们传入的函数action( )
}
正在上课{
wannaDrink(同学B,getWaterDispenser)//指定同学,指定打水方式
成功喝水;
}
其中的wannaDrink 就是回调函数,是老师与学生取水动作之间的一个接口,老师告诉同学B如何取水。
简单的“多态”如何体现的呢 ?针对wannaDrink函数,对于传入函数的不同,它进行了不同的操作。
实际上,drink()可以是一个很复杂的操作,这个操作针对的对象可以是我们传入的(平时的传参),除了一些固定的操作以外,我们还可以自定义一些操作,上述例子
中自定义操作的是 取水动作。
- .NET 回调函数
- 回调函数
- 回调函数
- 回调函数概念
- 回调函数
- 回调函数
- 回调函数
- 回调函数 相关
- delphi 回调函数
- 回调函数
- 回调函数
- 回调函数学习
- 回调函数
- 关于回调函数
- 透析回调函数
- 回调函数
- 什么是回调函数
- 回调函数
- HDU 1235 统计同成绩学生人数(水题)
- HDU3874树状数组的应用
- 继续sizeof与strlen的区别,来一拨
- 第8周项目2-用数组对象操作长方柱类
- HTML基础
- 回调函数
- 【Android】 TextView设置个别字体样式
- leetcode——324——Wiggle Sort II
- div专题
- JS求数组差集
- JAVA 32位随机ID
- BeeFramework路由机制
- qt使用样式表修改控件属性
- jpype和HanLP