简体   繁体   English

AS3:我可以创建一个对象的新实例,也可以将其用作保存返回数据的方法吗?

[英]AS3: Can I create a new instance of an object but also using it as something to hold the return data?

I apologize if my title is not clear. 如果标题不清楚,我深表歉意。 I mean if I have a class that does something and returns a string, could I do something like this? 我的意思是,如果我有一个做某事并返回字符串的类,我可以做这样的事情吗?

example:String = new MyClassThatReturnsStrings(1234);

If I cannot, how do I handle returns for a class? 如果不能,我该如何处理班级退货? Thanks 谢谢

A constructor can't return a value. 构造函数无法返回值。 You need to move the calculation that return something in another method other than constructor and after instantiating the class you need to call that method. 您需要移动返回在构造函数以外的其他方法中返回内容的计算,并且在实例化该类之后,需要调用该方法。 Like this: 像这样:

var myClass:MyClass = new MyClass();
var example:String = myClass.methodThatCalculateAndReturn(1234);

You can do this in one line if you don't need the object in anywhere else. 如果您不需要在任何其他地方使用该对象,则可以在一行中执行此操作。 Like this: 像这样:

var example:String = (new MyClass()).methodThatCalculateAndReturn(1234);

As an alternative to taskinoor's answer , you could define the method as static : 作为taskinoor答案的替代方法,您可以将方法定义为static

public class MyClass
{
    public function formatNumber(number : Number) : String
    {
        return number.toString();
    }
}

var value : String = MyClass.formatNumber(1234);

Or you can skip the class entirely and declare the function globally: 或者,您可以完全跳过该类并在全局范围内声明该函数:

package com.package.name
{
    public function formatNumber(number : Number) : String
    {
        return number.toString();
    }
}

var value : String = formatNumber(1234);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM