Руководство по actionscript. часть 2, стр. 125

В любой конкретный момент выполнения программы доступность переменных, функций, классов, интерфейсов и пространств имен определяется областью видимости кода, исполняемого в текущий момент. Например, код внутри функции может обращаться к локальным переменным этой функции, поскольку он выполняется внутри ее области видимости. Напротив, код за пределами функции не может обращаться к локальным переменным данной функции, поскольку он выполняется за пределами ее области видимости.

В ActionScript области видимости могут быть вложенными. Например, функция может быть вложена в метод экземпляра, который, в свою очередь, вложен в тело класса:

public class SomeClass { public function someMethod ( ):void { function someNestedFunction ( ):void { // Область видимости данной функции вложена внутрь области видимости // метода someMethod( ). которая вложена в область видимости класса // SomeClass

}

}

}

Если одна обдасть видимости вложена в другую область, определения (то есть переменные, функции, классы, интерфейсы и пространства имен), доступные во внешней области видимости, становятся доступными во вложенной области. Например, функция, вложенная внутрь метода экземпляра, может обращаться к локальным переменным этого метода. Полный список вложенных областей видимости, окружающих код, выполняемый в текущий момент, называется цепочкой областей видимости.

В этой главе рассматривается доступность переменных, функций, классов, интерфейсов и пространств имен внутри различных областей видимости языка ActionScript.

Обратите внимание, что помимо «доступных» определений, перечисленных в каждом из последующих разделов, определения, объявленные во внешнем пакете с использованием модификатора управления доступом public, можно сделать видимыми и в данной области видимости с помощью директивы import. Подробную информацию можно найти в подразд. «Пример создания объекта: добавление животного в зоопарк» разд. «Создание объектов» гл. 1.

Местоположение определения и используемые при его объявлении модификаторы управления доступом совместно определяют доступность данного определения в программе. Для информации в табл. 16.1 приведена доступность определений в соответствии с их местоположением и применяемым модификатором управления доступом.

Таблица 16.1. Доступность определения в зависимости от его местоположения и используемого модификатора управления доступом

Определение Доступно

Определение за пределами всех пакетов Только внутри исходного файла, содержащего данное определение

Определение в безымянном пакете В любой точке программы

Определение с использованием модификатора управления доступом public в именованном пакете Внутри пакета, содержащего данное определение, и в любом месте, где оно импортируется

Определение с использованием модификатора управления доступом internal в именованном пакете Только внутри пакета, содержащего данное определение

Метод или переменная, объявленные с использованием модификатора управления доступом public В любом месте, где доступен класс, содержащий данное определение

Метод или переменная, объявленные с использованием модификатора управления доступом internal Внутри пакета, содержащего класс с данным определением

Метод или переменная, объявленные с использованием модификатора управления доступом protected Внутри класса, содержащего данное определение, и его классов-потомков

Метод или переменная, объявленные с использованием модификатора управления доступом private Только внутри класса, содержащего данное определение

Определение в методе экземпляра, статическом методе или функции Доступно внутри метода или функции, содержащих данное определение, а также во всех вложенных в них функциях

Глобальная область видимости

Код, помещенный непосредственно в тело пакета или на верхний уровень тела пакета, находится в глобальной области видимости. Иначе говоря:

package {

// Этот код находится в глобальной области видимости

}

// Этот код также находится в глобальной области видимости

Код, находящийся в глобальной области видимости, может обращаться к функциям, переменным, классам, интерфейсам и пространствам имен, определенным:

? на верхнем уровне безымянного пакета;

? за пределами всех пакетов, но в том же исходном файле (AS).

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.92
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 118
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 150
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.13
  • 23.02.2011">Руководство по actionscript. часть 7, стр. 038
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.30
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.31
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.80
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 122
  • 10.08.2011">Samsung GT-S5250 – отличный помощник
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.64
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.15
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.124
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 127
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 118
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...