
28.10.2010, 17:14
|
|
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
Хелп читаете?
Цитата:
Статические члены класса не наследуются. Невозможно сослаться на статический член класса, используя имя подкласса, что возможно в Java или C++. Однако можно сослаться на статическую переменную или статический метод в пределах класса или подкласса без использования квалификатора. См. пример ниже.
Инструкцию super или ключевое слово this нельзя использовать внутри статического метода.
|
Цитата:
Следующий пример иллюстрирует использование ключевого слова static для создания счетчика, который отслеживает количество созданных экземпляров класса. Поскольку переменная numInstances является статической, она будет создана только один раз для всего класса, а не для отдельных экземпляров. Создайте новый файл ActionScript с именем Users.as и введите следующий код:
 Код AS3:
class Users {
private static var numInstances:Number = 0;
function Users() {
numInstances++;
}
static function get instances():Number {
return numInstances;
}
}
Введите в сценарий следующий код:
 Код AS3:
trace(Users.instances);
var user1:Users = new Users();
trace(Users.instances);
var user2:Users = new Users();
trace(Users.instances);
В следующем примере класс Users расширяется, чтобы показать, что статические переменные и методы не наследуются, но на них можно сослаться в подклассах.
 Код AS3:
class PowerUsers extends Users{
function PowerUsers() {
instances++; // unqualified reference to static property Users.instances is legal
}
}
trace(PowerUsers.instances); // error, cannot access static property using PowerUsers class
|
|