ГлавнаяActionScript 3 — «100 советов» › use namespace

use namespace

June 19th, 2006
Для уточнения используемого пространства имен (см. совет 54) вместе с оператором «::» (name qualifier operator), можно использовать use namespace (use namespace directive). use namespace определяет пространство имен на весь блок кода (package, class, method). use namespace нельзя дважды использовать в одном блоке, но можно обратиться к другому пространству имен через оператор «::»
Пример:

Код:
package { public namespace company = "http://www.example.com/company"; public namespace individual = "http://www.example.com/individual"; public class UsingNameSpaces { use namespace individual; company var value:int = 10; individual var value:int = 2; public function UsingNameSpaces(){ showValue(); // traces individual::2 company::showValue(); // traces company::2; } company function showValue() { trace("company::" + value); } individual function showValue() { trace("individual::" + value); } } }

В этом легко запутаться, хоть все и логично. Здесь директивой use namespace было назначено по умолчанию для всего класса использовать пространство имен individual. Соответственно первый вызов метода showValue без указания пространства имен это аналог individual::showValue. Во втором вызове явно указано пространство имен company, но поскольку в самом методе showValue используется свойство value без указания пространства имен, то по умолчанию берется то, что назначено use namespace, т.е. individual и метод company::showValue выводит 2 (individual::value) а не 10 (company::value).

Категория: ActionScript 3 — «100 советов» Ярлыки: ,

Смотрите также

Доступ к stage и root Больше нет класса Color, используйте ColorTransform
  1. Пока без комментариев.
  1. Пока нету.