我有这样的事情:
class ParentClass
{
public static const ON_SOME_EVT:String = "onSomeEvent" ;
....
}
class ChildClass extends ParentClass
{
....
}
main()
{
trace( ChildClass.ON_SOME_EVT ) ; //<< compiler error on doing this
//1119: Access of possibly undefined property ABC through a reference with static type Class.
}
那我该怎么做呢。我想通过子类而不是父类访问常量。
感谢。
答案 0 :(得分:2)
答案 1 :(得分:1)
我认为你可以在ChildClass中做trace(ON_SOME_EVT);
,因为如果我没有弄错的话,常量也会被继承。
但是常量是ParentClass
的静态成员,因此在继承树之外,您无法避免使用ParentClass.ON_SOME_EVT
。你为什么不想用它?
答案 2 :(得分:1)
执行此操作的最佳方法是在子类中重新声明静态const并引用ParentClass.ON_SOME_EVT。
class ParentClass
{
public static const ON_SOME_EVT:String = "onSomeEvent" ;
....
}
class ChildClass extends ParentClass
{
public static const ON_SOME_EVT:STring = ParentClass.ON_SOME_EVT;
....
}