Руководство по actionscript. часть 2, стр. 133
К пространствам имен
В этой главе мы узнали, как язык ActionScript управляет доступностью определений в различных областях видимости. В следующей главе мы научимся использовать пространства имен для управления видимостью определений. Стоит отметить, что пространства имен являются важной частью внутренней архитектуры языка ActionScript, но в пользовательском коде они обычно применяются только в сложных ситуациях.
1ЛШ17
Пространства имен
В самых общих чертах, пространство имен — это набор имен, не содержащий дубликатов. Иными словами, внутри этого набора каждое имя является уникальным. Например, в английском языке названия фруктов могут считаться пространством имен, поскольку каждый фрукт имеет уникальное имя: apple (яблоко), реаг (груша), orange (апельсин) и т. д. Подобным образом пространством имен могут считаться названия цветов, поскольку каждый цвет обладает своим уникальным именем: blue (синий), green (зеленый), orange (оранжевый) и т. д.
Обратите внимание, что имя orange встречается в обеих группах имен. Имя orange само по себе не является уникальным — оно уникально только внутри каждой группы. В зависимости от того, идет разговор о фрукте или цвете, одно и то же имя orange может обозначать два различных предмета. В этом и заключается смысл пространств имен. Они позволяют одному и тому же имени (идентификатору) иметь различные значения в зависимости от контекста, в котором оно используется.
Что касается программирования, данная особенность пространств имен — «то же имя — другое значение» — обладает двумя общими преимуществами:
? позволяет программистам избежать конфликтов имен;
? дает возможность программе адаптировать свое поведение в соответствии с текущим контекстом.
В процессе изучения этой главы мы рассмотрим множество тонкостей, связанных с пространствами имен в языке ActionScript. Попытайтесь разобраться в теме так, чтобы различные подробности не уводили вас в сторону от относительной простоты пространств имен. По существу, пространства имен — это не более чем система именований, состоящая из двух частей. Они используются для того, чтобы отличать одну группу имен от другой, подобно тому как код города позволяет отличать один номер телефона от других телефонных номеров по всему миру.
Словарь пространств имен
В этой главе мы встретимся с несколькими новыми терминами, относящимися к пространствам имен. Некоторые наиболее важные из них приведены далее в виде краткого справочника. Сейчас бегло ознакомьтесь с этим списком, чтобы получить общее представление, а в дальнейшем возвращайтесь к нему всякий раз, когда вам понадобится памятка при изучении последующих разделов. В оставшейся части этой главы каждый из приведенных терминов рассматривается гораздо более подробно.
Локальное имя — локальная часть уточненного идентификатора, то есть имя, которое уточняется пространством имен. Например, orange в fruit: : orange.
Руководство по actionscript. часть 2, стр. 134
Название пространства имен — уникальное идентифицирующее название пространства имен, представленное в виде унифицированного идентификатора ресурса (URI — Uniform Resource Identifier). В языке ActionScript название пространства имен доступно через переменную экземпляра uri класса Namespace. В XML название пространства имен доступно через атрибут xmlns.
Префикс пространства имен — псевдоним названия пространства имен. Префиксы пространств имен используются только в языке XML, однако в ActionScript для упрощения операций расширения Е4Х к ним можно обращаться через переменную prefix класса Namespace.
Идентификатор пространства имен — идентификатор, используемый при определении пространства имен в языке ActionScript. Например, в следующем определении пространства имен fruit является идентификатором:
namespace fruit = «http://www. example. com/games/kidsgame/fruit»:
Открытое пространство имен — пространство имен, которое было добавлено в набор открытых пространств имен с помощью директивы use namespace.
Открытые пространства имен — набор пространств имен, просматриваемый компилятором при попытке разрешить неуточненные ссылки.
Уточняющее пространство имен — пространство имен, которое квалифицирует определение переменной или метода либо идентификатор пространства имен как уточненный идентификатор.
Уточненный идентификатор — идентификатор языка ActionScript, состоящий из двух частей и включающий идентификатор пространства имен и локальное имя, разделенные двумя двоеточиями. Например, fruit: : orange.
Пространства имен в языке ActionScript
В языке ActionScript пространство имен — это описатель для имени переменной, метода, XML-тега или XML-атрибута. Описатель ограничивает, или уточняет, значение идентификатора, позволяя нам сказать в коде, что «переменная orange является фруктом, а не цветом», или «метод search ( ) применяется для поиска в японском языке, а не в английском», или «тег