Показать сообщение отдельно
Старый 19.10.2006, 13:01
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 51  
Ответить с цитированием
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
По умолчанию 56. Динамичность класса не наследуется

Как и в ActionScript 2 в ActionScript 3 есть возможность создавать динамические классы, для этого используется ключевое слово dynamic (dynamic keyword). В динамические классы можно добавлять новые свойства в процессе выполнения кода.
В AS2, когда создаете новый класс, наследованный от динамического класса, он по умолчанию так же становился динамическим.
Код:
// superclass.as
dynamic class superclass {
}

// subclass.as
class subclass extends superclass {
}

// main movie
var instance:subclass = new subclass();
trace(instance.anything); // Ошибки не будет, т.к. subclass унаследовал динамичность
В AS3 это не так, любой класс не является динамическим, если это явно не указано ключевым словом dynamic.
Код:
// superclass.as
package {
    dynamic class superclass {
    }
}

// subclass.as
package {
    class subclass extends superclass {
    }
}

// main movie
var instance:subclass = new subclass();
trace(instance.anything); // Ошибка, свойство не определено, т.к. класс не динамический
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.