![]() |
Оболочка XML.
Пишу класс, наследующий XML. Хочу добавить методы свои и стойства.
Код:
class hvClasses.CDataNode extends XMLКод:
var myNode = new CDataNode(); |
глянь, такой тест вполне себе работает:
Код:
class CDataNode extends XMLКод:
var myXML:CDataNode = new CDataNode("<body>test</body>"); |
Спасибо, работает.
Получается, что явное приведение типов не срабатывает, а срабатывает неявное. А если мне надо написать что-то типа Код:
public function get parent():СDataNode |
Непонятно, почему метод byStr не даёт себя вызвать 2 раза подряд, например:
Код:
var node:DataNode = myNode.byStr('body').byStr('info'); |
ты прав, надо внимательнее с типами
byStr в предыдущем варианте возвращает XMLNode, а не CDataNode, декларация var node:CDataNode = childNodes[i]; ничего не дает, компилятор просто не может проверить тип childNodes[i].. должно быть, видимо, так (хотя и не очень понятно зачем оно) : Код:
class CDataNode extends XML |
А зачем тут firstChild в аргументе конструктора?
|
дада, сори
действительно, нужны же все дети: Код:
class CDataNode extends XML |
Блин, при реализации через toString() как -то не так всё получается, внешний узел имени не имеет, ему соответствующий текст из документа попадает в содержимое узла...
Спасибо. Но вообще, при создании новых объектов связи теряются с родительскими элементами, дерево ломается. Надо как-то по-дургому выпутываться.. |
мне кажется нелогично в такой затее наследоваться от XML, имхо от XMLNode было бы складнее..
а так получаешь, то что есть.. |
Блин, так куда денутся проблемы с приведением типов?
Кроме того, я потеряю status и onLoad, к примеру. |
| Часовой пояс GMT +4, время: 15:23. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.