我希望有人可以解释有关访问超类的变量的子类。AS3访问子类的超类变量
我发现子类只能访问在超类的构造函数中设置的变量。有没有办法解决?
package Character {
import flash.display.MovieClip;
public class Character extends MovieClip {
protected var test_declared_early:String = "declared early";
protected var test_declared_late:String;
private var knight:Knight;
public function Character() {
// constructor code
}
public function init(_local_stage:Object){
test_declared_late = "declared late";
knight = new Knight("matt");
}
}
我尝试访问子类中的字符串,但只能得到一个:
package Character{
public class Knight extends Character.Character {
private var myName:String;
public function Knight(local_name:String) {
// constructor code
myName = local_name;
trace(super.test_declared_early); //this is not null
trace(super.test_declared_late); //this is null
}
}
}
我的整个测试项目可以在这里找到: http://www.mediafire.com/?46zwpfo4h47cdaq
谢谢!
问题是你在init被调用之前正在追踪'test_declared_late'。跟踪发生在构造函数中,init发生之后。 – 2010-08-16 20:05:43