2011-09-24 21 views
1

使用靜態常量(在父類中聲明),我有這樣的事情:如何通過一個子類(繼承類)

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

當您從'ParentClass'繼承時,您已經連接到它。那麼爲什麼不直接在子類中使用'ParentClass.ON_SOME_EVENT'呢? –

回答

1

要做到這一點,最好的辦法就是在子類中重新聲明你的靜態常量和引用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; 
.... 
} 
1

我想你可以在ChildClass中做trace(ON_SOME_EVT);,因爲如果我沒有弄錯,常量也會被繼承。
但常數是ParentClass的靜態成員,所以在繼承樹之外,您無法避免使用ParentClass.ON_SOME_EVT。你爲什麼不想使用它?