在Flex2的ActionScript3.0中模拟函数重载

在ActionScript3.0中是不支持函数重载的.
最近, 想了个办法来模拟.
public  function add(obj1 : Object  =   null , obj2: Object  =   null ) :  void  {
    
if  (obj1  ==   null   &&  obj2  ==   null  ) {
         
//  调用无参数Add函数
         AddNoArgument();
    }
    
else   if  (  typeof (obj1).toString().toLowerCase()  ==   " string " &&  obj2  ==   null  ) {
         
//  调用String参数的Add函数
         AddString(obj1.toString());
    }
}
当然这个方法也会有一些问题.
第二种方法
public  function add( args) :  void  {
    
if  (args.length  ==   0 ) {
         
//  调用无参数Add函数
         AddNoArgument();
    }
    
else   if  ( args.length  ==   1   &&   typeof (args[ 0 ])  ==   " int " ) ) {
         
//  调用String参数的Add函数
         AddString(args[ 0 ].toString());
    }
}

其中addString是add函数的String类型的重载函数.
如果大家有什么更好的解决方案, 请不吝赐教.


你可能感兴趣的:(在Flex2的ActionScript3.0中模拟函数重载)