AS3: Могу ли я создать новый экземпляр объекта, но также использовать его для хранения возвращаемых данных? - PullRequest
0 голосов
/ 27 июня 2011

Я прошу прощения, если мой заголовок не ясен.Я имею в виду, если у меня есть класс, который что-то делает и возвращает строку, могу ли я сделать что-то подобное?

example:String = new MyClassThatReturnsStrings(1234);

Если я не могу, как мне обработать возврат для класса?Спасибо

Ответы [ 2 ]

2 голосов
/ 27 июня 2011

В качестве альтернативы ответа Taskinoor , вы можете определить метод как static:

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

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

Или вы можете полностью пропустить класс и объявить функцию глобально:

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

var value : String = formatNumber(1234);
2 голосов
/ 27 июня 2011

Конструктор не может вернуть значение. Вам нужно переместить вычисление, которое возвращает что-то в другом методе, отличном от конструктора, и после создания экземпляра класса вам нужно вызвать этот метод. Как это:

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

Вы можете сделать это в одну строку, если вам не нужен объект в другом месте. Как это:

var example:String = (new MyClass()).methodThatCalculateAndReturn(1234);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...