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

В каждой области видимости ActionScript неявно открывает подходящее пространство имен для различных модификаторов управления доступом. Например, в каждой области видимости всегда добавляется глобальное пространство имен public в набор открытых пространств имен. На верхнем уровне пакета также добавляются пространства имен internal и publ ic данного пакета. В коде класса, который находится внутри пакета, также добавляются пространства имен private и protected данного класса. Таким образом, набор открытых пространств имен включает не

только пространства имен, открытые пользователем, но и пространства имен для управления доступом, которые неявно открываются в каждой области видимости.

Открыть пространства имен для управления доступом явно с помощью директивы use namespace невозможно. Среда выполнения открывает пространства имен для управления доступом автоматически, в соответствии с текущей областью видимости.

Пространства имен для модификаторов управления доступом определяют доступность идентификаторов и предотвращают конфликты именования. Например, в следующем коде суперкласс Parent и подкласс Child определяют переменную с одним и тем же именем, используя модификатор управления доступом private: description. Переменная description класса Parent недоступна для кода в классе Child, поскольку она уточнена пространством имен private класса Parent, которое не открывается в области видимости класса Child. Благодаря этому названия переменных не конфликтуют между собой.

package р { public class Parent. { private var description-.String = «A Parent object»; public function Parent ( ) { trace(description);

}

}

package p { public class Child extends Parent { private var description:String = «A Child object»; public function Child ( ) { trace(description); // Конфликта не происходит

}

}

}

Однако если переменную description класса Parent объявить с использованием модификатора управления доступом protected, возникнет конфликт. Рассмотрим почему. Во-первых, изменим модификатор управления доступом для переменной description на protected:

public class Parent { protected var description-.String = «A Parent object»;

}

Теперь представим себя на месте среды Flash, пытающейся выполнить код в конструкторе класса Child. Мы входим в конструктор и встречаем ссылку на идентификатор description. Чтобы разрешить этот идентификатор, мы должны проверить его существование в открытых пространствах имен. И какие же пространства имен открыты в конструкторе класса Child? Как мы уже знаем, в коде класса, который находится внутри пакета, среда Flash открывает пространства имен private и protected данного класса, пространства имен internal и public пакета и глобальное пространство имен public. Итак, открытыми пространствами имен являются:

? пространство имен private класса Child;

? пространство имен protected класса Child (которое уточняет все члены, унаследованные от непосредственного суперкласса);

? пространство имен internal пакета р;

? пространство имен public пакета р;

? глобальное пространство имен public;

? все пользовательские пространства имен, открытые явным образом.

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

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

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

Полезные ссылки
Случайные записи
  • 17.03.2011">Руководство по actionscript. часть 3, стр. 001
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 019
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.142
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 072
  • 17.03.2011">Руководство по actionscript. часть 2, стр. 149
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 026
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 033
  • 21.07.2011">Венгрия – жемчужина Европы
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 070
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.21
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.55
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 060
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.89
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.158
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.3
Опрос

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

View Results

Loading ... Loading ...