Показать сообщение отдельно
Старый 22.03.2015, 00:35
OlmerDale вне форума Посмотреть профиль Отправить личное сообщение для OlmerDale Найти все сообщения от OlmerDale
  № 10  
Ответить с цитированием
OlmerDale

Регистрация: Jan 2015
Сообщений: 113
Цитата:
Да никаких, 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, что не меняет ооп.