Показать сообщение отдельно
Старый 20.12.2009, 18:39
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от nickorsk Посмотреть сообщение
Использование публичных атрибутов возможно только в пределах пакета*
Не правильно, читайте мануал.

Цитата:
Сообщение от nickorsk Посмотреть сообщение
Использование статистических атрибутов возможно только в пределах класса*
Не правильно, читайте мануал.

Цитата:
Сообщение от nickorsk Посмотреть сообщение
Что на счет _global -не понятно какие классы он способен содержать или описывать -лично я классы описывал используя метод include.
А _global использовал для определения глобальных переменных, значения которых доступны даже не только в пределах мувиклипов основного FLA файла, но и для всех импортируемых мувиклипков, библиотек и всего прочего в основной FLA файл.
Класс созданый с помощю ключевого словал class в AS2 записывается в _global. #include (AS2) и include (AS3) - это директива компилятору для вставки произвольного кода из другого файла. Непосредственного отношения к классам не имеет. Внутренняя реализация классов в AS1 / AS2 это #initclip - #endinitclip. Т.е. код помещенный между этими директивами ассоциируется с символом типа MovieClip и фактически является телом класса прилинкованого к этому клипу.

Глобальные переменные - это в целом плохая практика, и для описаной вами задачи противопоказаны. Основным недостатком будет пожалуй то, что глобальные переменные ставят любой класс, который их использует в зависимость от внешних факторов, которые в дальнейшем приведут к тому, что этот класс нельзя будет использовать повторно. Кроме того, глобальная область видимости - это потенциальные конфликты имен и конфликты доступа - вы никогда не можете быть уверены в том, что другой участок кода не поменяет чего-то в глобальной области видимости.

Как уже говорилось - в AS3 предпочтительно не использовать FLA файлы для кода. Так устроен язык, что скрипт который вы можете поместить на таймлайн во флеше не будет обладать всеми возможностями скрипта в классе. Например, вы не сможете указать тип доступа к методу или свойству, более того, вы даже не сможете создать свойство в полном смысле этого слова - геттеры и сеттеры создать на таймлайне нельзя. Вы не сможете управлять наследованием - оно как бы вообще для вас останется за бортом. Возможно есть и другие недостатки, которые просто сейчас не приходят в голову, но, по-моему этого уже должно быть достаточно, чтобы отказаться от идеи написания кода на таймлайне.
__________________
Hell is the possibility of sanity