AS3 - возвращение свойства, а не самого класса - PullRequest
0 голосов
/ 15 февраля 2012

В качестве расширения этот вопрос , где было указано, что я могу использовать toString() для возврата любой строки, желаемой при использовании trace(instance), возможно ли вернуть другие типы объектов?

Например, у меня может быть этот класс:

public class List
{
    private var _content:Array = [];

    public function add():void{}
    public function remove():void{}
}

Обычно мне нужно создать геттер, который возвращает _content, например:

public function get content():Array{ return _content; }

Так что я могу делать такие вещи, как:

for each(var i:Object in myList.content)

Могу ли я заставить myList в приведенном выше случае автоматически возвращать значение content? Так что я могу сделать, как:

trace(myList); // item, item, item (similar output as tracing an array)
for each(var i:Object in myList)

1 Ответ

1 голос
/ 15 февраля 2012

Переопределить метод toString, доступный в каждом классе. trace() всегда будет искать метод toString(), в противном случае он будет использовать значение по умолчанию.

public function override toString():String
{
    return _content;
}

Надеюсь, это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...