Цитата:
|
Да никаких, Genome2D построен по такомо принципу. Но вы так и не ответили на вопрос "зачем?" вы это делаете.
|
Если без лишних умностей, то хочу создать последовательность, которую легко сортировать и удалять-добавлять узлы.
Если тоже самое создавать с нодами, в которые передавать классы в качестве значения свойства,
то я в этом просто не вижу смысла, так как массив ДАЖЕ быстрее ( он только по удалению выигрывает,
но этот выигрыш меркнет на фоне остальных проигрышей ).
И я немного не понял, Вы имели ввиду что genom создан по тому принципу, который хочу сделать я?
Или по тому, который мне не нравится? Я просто сейчас посмотрел его доки ( сорсы не смог найти на as3 ) и там у самого базового класса есть lastChild:GNode и nextNode:GNode... Это говорит о том, что базовый класс является и нодой и базовым ДО?
Добавлено через 3 часа 46 минут
Цитата:
|
Зачем ему быть и тем и тем, какую практическую задачу вы решаете?
|
Для начала немного исправил класс -

Код AS3:
package
{
public class AbstractClass implements INode
{
public var next:INode;
public var prev:INode;
public function AbstractClass()
{
}
}
}
package
{
public class CustomClass extends AbstractClass
{
protected var _nodes:NodeList;
public var someProp:Type; // какое-то свойство
public var someProp:Type; // какое-то свойство
public var someProp:Type; // какое-то свойство
public var someProp:Type; // какое-то свойство
public var someProp:Type; // какое-то свойство
public var someProp:Type; // какое-то свойство
public var someProp:Type; // какое-то свойство
public function CustomClass()
{
// а в теле этого класса я реализую методы
// которые будут инкапсулировать связь между
// someProp
}
public function insert(target:INode):void
{
this._nodes.insert(target);
}
}
}
И вот теперь получается, что CustomClass становится группой для любых классов
расширяющих AbstractClass, в том числе и собственного типа. то есть я могу сделать
группу-групп.
А NodeList не содержит узлов, узлы это потомки AbstractClass, которыми он только управляет.
Вот так я хотел сделать и на то есть причины. Но как я понял, так делать нельзя.
Хотя так почему-то сделал автор genom2d, а ещё я то же самое в анимации tweenmax нашел,
в классе Animation есть ссылки на next:Animation prev:Animation, что не меняет ооп.