2011-09-24 2 views
1

J'ai quelque chose comme ceci:Comment utiliser une constante statique (déclarée dans la classe mère) par une classe enfant (classe héritée)

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. 



} 

Alors, comment devrais-je parvenir. Je veux accéder à la constante via la classe enfant mais pas la classe parent.

Merci.

+0

Lorsque vous héritez de 'ParentClass', vous êtes déjà couplé. Alors pourquoi ne pas utiliser directement 'ParentClass.ON_SOME_EVENT' dans la sous-classe? –

Répondre

1

La meilleure façon de le faire est juste pour re-déclarer votre const statique dans la classe des enfants et faire référence à la ParentClass.ON_SOME_EVT.

1

Je pense que vous pouvez simplement faire trace(ON_SOME_EVT); dans ChildClass, parce que la constante est également héritée si je ne me trompe pas.
Mais la constante est un membre statique de ParentClass donc en dehors de l'arbre d'héritage, vous ne pouvez pas éviter d'utiliser ParentClass.ON_SOME_EVT. Pourquoi ne veux-tu pas l'utiliser?

Questions connexes