在java中我们都知道函数的重载是根据方法中参数的个数不同,参数的顺序不同来动态的选择方法。
那么在as3中能不能呢?
首先必须声明,在as3中是不能实现像java那样的函数重载,例如:
package {
import flash.display.Sprite ;
public class HelloImpl extends Sprite {
public function fun(){
trace("无参");
}
//对fun方法进行重载,
public function fun(a:int){
trace(“有一个参数”);
}
}
}
编译时将报错,提示:函数不能同名;
那么可不可在as3中实现类似这种重载的功能呢?答案是肯定的,运用可变参数符号 ... ,对于熟悉java的来说,这个符号想必也不会陌生的。
package {
import flash.display.Sprite ;
public class HelloImpl extends Sprite {
public function fun(...args){
if(args.length==0){
trace("无参");
}
if(args.length==1){
trace("有一个参数");
}
}
}
}