Actionscript 3 AS3-返回属性而不是类本身

Actionscript 3 AS3-返回属性而不是类本身,actionscript-3,Actionscript 3,作为对的扩展,其中指出我可以使用toString()返回使用跟踪(实例)时所需的任何字符串,是否可以返回其他类型的对象 例如,我可能有以下课程: public class List { private var _content:Array = []; public function add():void{} public function remove():void{} } 我通常需要制作一个getter来返回\u内容,例如: public function get

作为对的扩展,其中指出我可以使用
toString()
返回使用
跟踪(实例)
时所需的任何字符串,是否可以返回其他类型的对象

例如,我可能有以下课程:

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

    public function add():void{}
    public function remove():void{}
}
我通常需要制作一个getter来返回
\u内容
,例如:

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)

重写每个类中可用的
toString
方法
trace()
将始终查找
toString()
方法,否则将使用默认方法

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

希望有帮助。

是的,我明白了,但我不想返回字符串,我想返回数组、位图、精灵、数字等任何东西。
trace()
只输出字符串,跟踪
array
对象调用对象的
toString()
方法,该方法循环遍历每个元素并输出内容。若要按照您在原始帖子中所希望的方式循环实际对象,它将循环对象的属性。您无法更改返回的内容,因为这些内容已硬编码到AVM中。你必须改变整个语言结构以节省一些打字字符,对于其他人来说,理解您是在对象的属性中循环还是在自定义对象中循环的可读性要低得多/复杂得多。虚拟机如何理解何时需要返回对象以及何时返回该对象的属性?@valentismonov与
toString()
工作原理相同?toString()当需要对象的字符串表示形式时调用。您所引用的可能是valueOf()。查看文档。但它的使用是有限的,您将无法使用您所描述的。