云自无心水自闲

天平山上白云泉,云自无心水自闲。何必奔冲山下去,更添波浪向人间!
posts - 288, comments - 524, trackbacks - 0, articles - 6
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

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

Posted on 2006-09-28 10:28 云自无心水自闲 阅读(969) 评论(0)  编辑  收藏 所属分类: Flex
在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类型的重载函数.
如果大家有什么更好的解决方案, 请不吝赐教.



只有注册用户登录后才能发表评论。


网站导航: