Цитата:
|
Другими словами, "как в любой уже сформированный класс, не имеющий полей next:*, prew:*, up:*, down:* добавить эти поля динамически". Да никак.
|
Нет. Создаю структуру, которую проще всего было бы обслуживать, будь она деревом.
Но если строить по принципу, когда нужный объект просто передается в создаваемую ноду
и присваивается её полю, то получившийся механиз вызывает те же проблемы, которые и привели
мысли к созданию деревьев из данных. Но вот если бы сам объект был и законченным объектом и нодой одновременно и это бы не противоречило ООП, то это было тем, о чем я и спрашиваю.
Я знаю только очень простые случаи, типа -

Код AS3:
package
{
public class Node
{
public var next:Node;
public var prev:Node;
public var data:*;
public function Node()
{
}
}
}
package recursive
{
public class CustomClass
{
public function CustomClass()
{
// это класс можно сравнить по своей важности
// например со Sprite
}
}
}
package
{
public class Main
{
public function Main()
{
var node:Node = new Node();
node.data = new CustomClass();
}
}
}
А я спрашиваю о разумности и прецедентности в практике -

Код AS3:
package recursive
{
public class CustomClass
{
public var next:Node;
public var prev:Node;
public function CustomClass()
{
// это класс можно сравнить по своей важности
// например со Sprite
}
}
}
package recursive
{
public class Main
{
public function Main()
{
var node:CustomClass = new CustomClass();
}
}
}
Как видно CustomClass стал и тем кем был ( например Sprite ) и узлом для построения дерева, одновременно. Я вот об этом. Можно так? Противоречит это чему-то?