【发布时间】:2012-09-28 04:18:37
【问题描述】:
在 AS3 中,您可以通过调用成员函数来初始化成员变量(或常量)。这发生在调用构造函数之前。同时,'this' 关键字在初始化成员函数中是完全可访问的,即使尚未发出构造函数。
这听起来像是一个定时炸弹。任何人都可以评论上述做法吗?
编辑:
...
private var member:Sprite = getSprite(); // called before constructor
...
private function getSprite():Sprite {
var spr:Sprite = new Sprite();
this.addChild(spr); // 'this' used before constructor
return spr;
}
【问题讨论】:
-
你能发布一些代码来说明你的意思吗?
-
我猜你在同一个类中有两个代码块。试试这个,你会意识到,创建一个名为
GetSprite的新类,它的构造函数中没有任何代码,然后有一个函数getSprite并从另一个类访问getSprite函数,然后你就会明白这个悖论在你的问题中。 -
您是否尝试过在实例化之前访问
spr变量的任何Sprite属性?
标签: actionscript-3 flash constructor initialization member-functions