PDA

Просмотр полной версии : private var в extends MovieClip


Timerlan
14.02.2007, 20:49
Допустим есть клас myClass extends MovieClip
в нем есть private var a

Вопрос: почему я могу обратиться к переменной а и записать в неё значение из любого другого места синтаксисом myClassExamplare.a="ляля"?

etc
14.02.2007, 22:43
Потому что AS2 не существует и проверка обращений к переменным есть только на стадии компиляции, что можно легко обойти.

Timerlan
14.02.2007, 23:22
что-то я не понял.
зачем же тогда вообще есть ключевое слово private для переменных в классе если они все равно остаются публичными?
и как это: AS2 не существует?:)

etc
14.02.2007, 23:49
Потому что AS2 существует только для программера. А в выходном файле обычный AS1 фактически и никакой там типизации нет.
Впрочем, приложите исходник, посмотрим, что там не так.

Timerlan
15.02.2007, 01:11
да я вроде понял.
Я же свой объект этого класса создаю на сцене стандартным методом attachMovie и обращаюсь к нему как к мувику..а поскольку мувик динамический класс, он вместо обьявленной мной приватной а создает новую. И в дальнейшем используется именно она.

etc
15.02.2007, 02:41
В таком случае нужно использовать кастинг. var mc:AnyClass = AnyClass(this.attachMovie(…)). Тем самым давать понять компилятору, что объект заданного типа.

iNils
15.02.2007, 14:41
Тема закрыта. Для вопросов по АС, есть соответствующие разделы.