首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >呼叫函数AS3

呼叫函数AS3
EN

Stack Overflow用户
提问于 2019-02-01 06:13:21
回答 1查看 43关注 0票数 0
代码语言:javascript
复制
public function PubliCTest(_arg_1:MouseEvent):void {
    trace("PubliCTestSub" + this.tell.text() + " , " + this.hello.text());
    if (((this.istextValid()) && (this.istextsubValid()))){
        var url:URLLoader = new URLLoader();
        var req:URLRequest = new URLRequest("http://www.nasydbasda.com/tnewabsud.php");
        var vars:URLVariables = new URLVariables();
        vars.text1 = this.text1.text();
        vars.textsub = this.textsub.text();
        req.data = vars ;
        req.method = URLRequestMethod.POST;
        url.load(req);
        url.addEventListener(Event.COMPLETE, reqcompleted);

    }
    this.onSignInSub();
}

这是我的函数,我想从它中获取一些功能以供使用(另一个类中的另一个函数)。基本上,我如何从另一个类调用它,同时保持当前类中的所有数据(函数)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-01 08:42:40

类方法是绑定的,它们将坚持自己的--这个对象--除非您强制传递另一个对象。这意味着,只要你能引用你的这个函数,你就可以在任何地方调用它。

解决方案1单例模式。假设您只有/只需要使用该方法的类的一个实例,则可以将对类静态变量的引用作为YourClass.instance.yourMethod(args);调用

解决方案2:静态引用。基本上,相同的假设只有一个类实例,您可以绕过实例引用,声明一个公共变量来处理方法引用。你可以叫它YourClass.MyMethod();

代码语言:javascript
复制
package
{
    public class YourClass
    {
        static public var MyMethod:Function;

        // Class constructor.
        public function YourClass()
        {
            MyMethod = yourMethod;
        }

        public function yourMethod():void
        {
            // ... whatever
        }
    }
}

解决方案3:传递引用。如果由于有几个实例而不能使用单例(-like)解决方案,那么就直接通过应用程序架构传递方法引用。您可能需要阅读有关依赖注入的内容。

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

https://stackoverflow.com/questions/54473846

复制
相关文章

相似问题

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