如何通过子类(继承类)使用静态常量(在父类中声明)

时间:2011-09-24 17:49:22

标签: flash actionscript-3 actionscript

我有这样的事情:

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.



} 

那我该怎么做呢。我想通过子类而不是父类访问常量。

感谢。

3 个答案:

答案 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;
 ....
}