定义一个类
public class MapServerProxy implements IMapServerProxy
{
private var _handler:Function; //函数-对应参数方法。
private var _capabilities:IMapServerCapabilities;//参数方法的实参。
public function getCapabilities():IMapServerCapabilities{
return _capabilities;
}
// 实现给参数方法传入实参。
private function resultHandle(data:Object):void{
var capabilities:IMapServerCapabilities = new MapServerRestCapabilities(data,_request.url);
this._capabilities = capabilities;
if(_handler)
_handler(capabilities);//给参数方法传入实参。#####//第三,将实参传给第一步定义的方法。此处的参数类型要一致
}
//第二,定义一个函数对象存放实参,给_handler赋值
//主方法,参数类型为一个方法。
public function loadCapabilities(handler:Function = null):void{
//在此也可以给参数方法传入实参。
this._handler = handler; //给方法变量赋值:将传入的方法赋值给该类中的变量。
}
}
定义一个方法,作为参数
//第一,定义一个方法M
//定义一个方法,此方法的参数需要和调用此方法的方法类型一致。如上例中的 ###标记语句。
private function baseMapServerLoadedHandle(capabilities:IMapServerCapabilities):void{
initTiledLayer(capabilities,true); //此时,该方法的形参已经具有具体的值。其中initTiledLaye是另外的一个方法,不用管。
}
定义一个类变量,调用该类中的方法
//第四,将M作为对象传入另外一个方法N中
public var baseMapServerProxy:IMapServerProxy;
baseMapServerProxy.loadCapabilities(baseMapServerLoadedHandle);//将方法作为参数。参数方法中的实参在类中赋值。
--