2009-04-14 2 views
7

Учебники обычно не занимаются областью действия в ActionScript. Можете ли вы указать мне какую-либо документацию и/или объяснить, что я должен знать об этом. Я хочу избежать проблем, возникающих из-за определенных классов, которые не видны в определенных местах.Actionscript 3.0: Scope

+0

Что вы должны знать об этом, зависит от вашего фона и того, к чему вы привыкли. Объем AS3 во многом отличается от области AS2, но если вы работаете на фоне Java, вы найдете много знакомых. Возможно, вы захотите сделать свой вопрос более конкретным. – Stiggler

ответ

1

Вы немного расплывчато, но, надеюсь, я получаю вас;)

Scope для классов, как правило, довольно легко обрабатывать, в основном это сводится к пакетам. Пакеты создаются в простой древовидной структуре, а в ActionScript3 filestructre должен следовать пространствам имен. Это делает его еще проще.

Вы можете получить доступ к любому классу из любого места, но если он находится в другом пакете, вам нужно будет «импортировать» класс. Это делается путем написания оператора импорта в начале класса или интерфейса, где вам нужно его использовать. Как так:

import flash.display.MovieClip; 

Существует исключение из этого правила, класс может быть объявлен с внутренним ключевым словом, в этом случае класс будет доступен только в этом пакете. Это в основном используется для вспомогательных классов.

В основном вы не должны беспокоиться о том, что классы не доступны.

NB: Вы создаете пакет с ключевым словом для пакета.

+1

Чтобы сделать это сообщение правильным, вам нужно заменить каждый экземпляр слова «пространство имен» словом «пакет», а изменение «будет доступно только в пределах этого класса», чтобы «было доступно только в этом пакете». Как и информация некорректна, хотя :(Также флэш-пакет не заглавется. –

+0

Исправлено, кроме пространства имен package-> Просто потому, что Actionascript использует ключевое слово пакета, это не значит, что это что-то еще, кроме пространств имен. –

+1

За исключением того, это функциональность пространства имен в AS3, и это не то же самое, что и функциональность пакета. Поэтому использование слова и пространства имен, взаимозаменяемо в AS3, неверно и вводит в заблуждение. –