Показать сообщение отдельно
Старый 22.06.2012, 18:36
a_[w] вне форума Посмотреть профиль Отправить личное сообщение для a_[w] Найти все сообщения от a_[w]
  № 12  
Ответить с цитированием
a_[w]

Регистрация: Dec 2005
Адрес: вне пространствавремени
Сообщений: 27
Потому что весь код класса, включая и статические переменные выполняются/инициализируются во время первого использования класса, по порядку. А у вас первое использование класса происходит между ARR1 и ARR2(ARR1, конструктор, ARR2, getInstance), поэтому получается ARR1 уже проинициализиорован, а ARR2 ещё нет. Если вы каким-то образом создадите второй экземпляр "синглтона", то у него уже всё будет впорядке.
Код AS3:
function getInstance(){
if(!_instance) _instance = new Singleton(); // выполнится после всех инициализаций уровня класса
return _instance;
}
__________________
while(true){trace(Math.random());};


Последний раз редактировалось a_[w]; 22.06.2012 в 18:41.