码迷,mamicode.com
首页 > 其他好文 > 详细

回调是怎么实现的

时间:2014-11-09 00:50:36      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:使用   java   sp   数据   on   代码   bs   as   算法   

回调的形式因程序设计语言的不同而不同:

1。  C、C++和Pascal允许将函数指针作为参数传递给其它函数。JavaScript,Python,Perl和PHP允许简单的将函数名作为参数传递。

2。 .NET Framework的语言中,提供了一种型别安全的引用封装,所谓的‘委托‘,用来定义包含类型的函数指针,可以用于实现回调。

3。使用匿名的代码块(lambda表达式),用以代替在别处定义的独立的回调函数。

4。在缺少函数类型的参数的面向对象的程序语言中,例如Java,回调可以用传递抽象类或接口来模拟。回调的接收者会调用抽象类或接口的方法,

这些方法由调用者提供实现。这样的对象通常是一些回调函数的集合,同时可能包含它所需要的数据。这种方法在实现某些设计模式时比较有用,

例如访问者模式,观察者模式与策略模式。

5。C++允许对象提供其自己的函数调用操作的实现,即重载operator()。标准模板库和函数指针一样接受这类对象(称为函数对象)作为各种算法的参数。

回调是怎么实现的

标签:使用   java   sp   数据   on   代码   bs   as   算法   

原文地址:http://www.cnblogs.com/yuyutianxia/p/4084266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!