Вот я тут наконец то сподобился изучить создание классов по правилам AS2.0
И вот не могу теоретически объяснить такой момент:
к примеру я создаю в классе A переменную
private var variableA:Number = 10;
И вот я создаю экземпляр класса А
var instA:A = new A();
в этом случае trace(instA.variableA) выдаст ошибку при компиляции.
Но если я создаю новый экземпляр
var anotherA = new A();
то все приватные функции и переменные становятся доступны как ни в чем не бывало.
Разница ясна - в первом случае есть строгая типизация instA, во втором ее нет.
Когда я проверяю
trace(anotherA instanceof A) // вижу true.
_____
Кто знает в чем причина?
Ясно, что можно не парить голову и просто грамотно писать все как положено, но все же )))