首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionScript-3不能有多个构造函数?

ActionScript-3不能有多个构造函数?
EN

Stack Overflow用户
提问于 2010-08-24 18:51:48
回答 2查看 11.4K关注 0票数 26

我有过

代码语言:javascript
复制
    public function Shard() {
    }

    public function Shard(x:Number, y:Number, vx:Number, vy:Number, rotation:Number, spin:Number)
    {
      ...
    }

我得到了第二个构造函数:

找到多个构造函数定义。构造函数不能在代码中定义。

那么,ActionScript-3不能有多个构造函数吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-24 19:19:34

不,不能有多个构造器,也不能有不同签名的相同函数,但可以使用默认参数:

代码语言:javascript
复制
public function Shard(x:Number=NaN, y:Number=NaN) {
  //...
}

然后您可以调用new Shard()new Shard(100)new Shard(100, 200)

也可以使用变量参数:

代码语言:javascript
复制
public function Shard(...args){
 if (args.length==0) {
   //...
 } else {
  //...
  var firstArg:Object=args[0];
  //...
 }
}
票数 33
EN

Stack Overflow用户

发布于 2010-08-24 19:20:15

甚至比那更广泛。AS3完全不支持功能过载

您可以模拟具有参数默认值的多个构造函数的外观,并/或动态地将参数分配给各种init方法。或者,自定义对象工厂或静态创建方法可能会有所帮助。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3559961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档