Руководство по actionscript. часть 6, стр. 090
Соответствие переменных именам экземпляров
Метод getChildByName ( ) из предыдущего раздела позволяет успешно обращаться к конкретному экземпляру символа, однако он не совсем удобен. Чтобы упростить обращение к создаваемым вручную экземплярам символов из кода на языке ActionScript, компилятор Flash предоставляет два автоматических сервиса. Во-первых, когда компилятор встречает именованный экземпляр на временной шкале, он автоматически присваивает его переменной экземпляра класса документа временной шкалы или связанного класса, имеющей такое же имя, как у данного экземпляра. Во-вторых, в некоторых случаях, когда соответствующая переменная экземпляра еще не существует в классе документа временной шкалы или связанном классе, компилятор автоматически создает ее. Рассмотрим эти два автоматических сервиса на примере.
Возвращаясь к примеру с файлом s ky. Да из предыдущего раздела, вспомним, что классом документа файла s ky. fla является S ky и что основная временная шкала файла s к у. fla содержит пять экземпляров символа звезды с именами 11 star 111 — 11 star511. Когда компилятор Flash осуществляет компиляцию файла sky. swf, он автоматически добавляет в класс Sky код, который присваивает эти пять экземпляров звезды пяти переменным экземпляра с именами starl — star5. Результат эквивалентен добавлению следующего кода в начало конструктора класса Sky:
package { import flash. display. MovieClip;
public class Sky extends MovieClip { public function Sky ( ) { starl = getChildByName(«starl»); star2 = getChildByName(«star2″); star3 = getChildByName(«star3″); star4 = getChildByName(«star4″);
star5 = getChildByName(«star5″);
}
}
}
Конечно, в данном случае никаких переменных с именами starl — star5B классе Sky на самом деле не определено. Следовательно, предыдущее автоматическое присваивание экземпляров переменным потенциально опасно.