Просмотр полной версии : Еще раз о наследовании классов ?
avtushko
03.02.2003, 09:11
Проблема с наследованием свойств
Пищу :
function MyXMLClass()
{
this.init();
}
MyXMLClass.prototype = new XML();
MyXMLClass.prototype.init = function()
{
trace(this.status);
}
MyXML = new MyXMLClass();
Результат - undefined
Может кто подскажет в чем дело.
дело в том, что при наследовании во флэше НЕ вызывается конструктор родительских классов, соответственно, объект НЕ инициализируется. Это приводит к непонятностям такого типа. Чтобы вызвать родительский конструктор, используй ключевое слово super:
function MyXMLClass()
{
super();
this.init();
}
MyXMLClass.prototype = new XML();
MyXMLClass.prototype.init = function()
{
trace(this.status);
}
MyXML = new MyXMLClass();
P.S. - super также может использоваться для вызовов родительских методов:
super.load("chat.ru");
avtushko
03.02.2003, 11:35
C2Plus
Большое спасибо все заработало
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.