Как использовать статическую константу (объявленную в родительском классе) через дочерний класс (унаследованный класс) - PullRequest
1 голос
/ 24 сентября 2011

У меня есть что-то вроде этого:

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 ]

2 голосов
/ 25 сентября 2011
1 голос
/ 30 сентября 2011

Лучший способ сделать это - просто повторно объявить статический констант в дочернем классе и сослаться на 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 голос
/ 24 сентября 2011

Я думаю, что вы можете просто сделать trace(ON_SOME_EVT); в ChildClass, потому что константа тоже наследуется, если я не ошибаюсь.
Но константа является статическим членом ParentClass, поэтому вне дерева наследования выне может избежать использования ParentClass.ON_SOME_EVT.Почему ты не хочешь использовать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...