java,php,javaScript中的回调函数的实现

来源:互联网 发布:pdf文件软件下载 编辑:程序博客网 时间:2024/05/22 00:43
关键字: 学习和总结
任何程序都能实现回调函数,其基本思想都是一样,具体实现起来它们之间稍微有所不同,以下是我通过java,php,javaScript三者如何实回调函数来说明,废话少说,行动! java的回调函数,一般是通过定义接口来做,当然也可以定义抽象类. 具体如下: <1>接口定义: package com; /* * 定义一个接口 */ public interface CallBack { /*定义一个抽象方法*/ abstract void doExec(String str); } <2>定义一个类: package com; import com.CallBack; /** * 定义一个类 * @author Administrator */ public class DoExcute{ /** * 这个方法会用到回调方法 * @param name 随便传一个参数进去 * @param callBack 回调参数 */ public static void doExcute(String name,CallBack callBack) { callBack.doExec(name); } public static void main(String args[]) { String name="莫小明"; //第一次调用 DoExcute.doExcute(name, new CallBack(){ public void doExec(String strCal){ String str="大家好,我叫:"+strCal+"叫偶小明哥就行了.嘿嘿."; //执行具体的操作功能 //这里就做一个最最简单的打印功能吧 System.out.println(str); } }); //第二次调用,实现了另一功能 DoExcute.doExcute(name, new CallBack(){ public void doExec(String strCal){ //执行你想要的功能,或则在这里又调用一个新方法 //,甚至new 一个新的类都有可能.具体要看你怎么设计合理性 p(strCal); } }); // } //简单的测试一个东西 private static void p(String name) { String str=("莫小明".equals(name))? "是帅哥!":"是野兽"; System.out.println(name+str); } } PHP的回调函数,就目前我测试,我只知道这样做. <?php /* * 定义一个类 */ class DoHepler{ /* * 这个方法执行某种功能,该功能交给回调函数来实现 * 参数callBack:回调函数 */ public static function doExec($callBack) { $callBack(); } } //第一次调用,将回调函数callBack0传入: DoHepler::doExec('callBack0'); //第二次调用,将回调函数callBack1传入: DoHepler::doExec('callBack1'); //回调函数callBack0 function callBack0() { //复杂的逻辑留给你自己来处理...... echo 'run now !'; } //回调函数callBack1 function callBack1(){ //复杂的逻辑留给你自己来处理...... print("<hr> goto beijing !"); } ?> JS中的做法.JS中的做法稍微灵活.........具体方法比较多,我这里只是其中一种 <script language="jscript"> // function A(p,callback){ //带都少个参数都可以 alert(p); callback(); } function __Callback_0(){ //这里可能做一系列的变化 alert("call back!"); } A("<br>1.",__Callback_0); //直接将函数做为参数传递 A("<br>2.",function c(){alert("go go !!!!!!!!!");}); //直接将函数做为参数传递 A("<hr>3.",function c(){ var i=25; var c="小明哥"; var x="男"; document.write("名称:"+c+",性别:"+x+",年龄:"+i); }); </script> 小结:回调函数在程序设计中起到非常重要的作用,如用得当,最整个程序有着非常重要的作用.我们一般在必要时候和在合理的地方使用某种特殊的设计(并非处处使用),会给程序设计添加一份绚丽的一道光....