我有过
public function Shard() {
}
public function Shard(x:Number, y:Number, vx:Number, vy:Number, rotation:Number, spin:Number)
{
...
}我得到了第二个构造函数:
找到多个构造函数定义。构造函数不能在代码中定义。
那么,ActionScript-3不能有多个构造函数吗?
发布于 2010-08-24 19:19:34
不,不能有多个构造器,也不能有不同签名的相同函数,但可以使用默认参数:
public function Shard(x:Number=NaN, y:Number=NaN) {
//...
}然后您可以调用new Shard()、new Shard(100)或new Shard(100, 200)
也可以使用变量参数:
public function Shard(...args){
if (args.length==0) {
//...
} else {
//...
var firstArg:Object=args[0];
//...
}
}发布于 2010-08-24 19:20:15
甚至比那更广泛。AS3完全不支持功能过载。
您可以模拟具有参数默认值的多个构造函数的外观,并/或动态地将参数分配给各种init方法。或者,自定义对象工厂或静态创建方法可能会有所帮助。
https://stackoverflow.com/questions/3559961
复制相似问题