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