首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ActionScript上的可调用对象?

ActionScript上的可调用对象?
EN

Stack Overflow用户
提问于 2010-04-29 01:21:51
回答 5查看 275关注 0票数 0

在ActionScript上有可能有可调用的对象吗?例如:

代码语言:javascript
运行
复制
class Foo extends EventDispatcher
{
  Foo() { super(); }

  call(world:String):String
  {
    return "Hello, " + world;
  }
}

后来..。

代码语言:javascript
运行
复制
var foo:Foo = new Foo();
trace( foo("World!") );    // Will NOT work
EN

Stack Overflow用户

回答已采纳

发布于 2010-05-01 08:21:07

正如其他人所说,你不能有可调用的对象。但是,如果出于某种原因您想要有状态函数,您可以通过静态类变量和包级函数来实现。例如:

代码语言:javascript
运行
复制
// com/example/foo/Helper.as
package com.example.foo {
    public class Helper {
        private static var _instance:Foo;

        public static var data:String;

        public static function get instance():Helper
        {
            if(!_instance) { _instance = new Helper(); }
            return _instance;
        }
    }
}

// com/example/foo/hello.as
package com.example.foo {
    public function hello(world:String):void
    {
        if(Helper.instance.data)
        {
            trace("Bye, " + Helper.instance.data);
        }
        trace("Hello, " + world);
        Helper.instance.data = world;
    }
}

使用时,它将打印不同的内容。

代码语言:javascript
运行
复制
hello("World!");   // traces "Hello, World!"
hello("People");   // traces "Bye, World!" and "Hello, People"
票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2731709

复制
相关文章

相似问题

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