|
|
|||||
Регистрация: Nov 2010
Сообщений: 150
|
Организация иерархии классов
В программе есть несколько классов, которые можно составлять в иерархичное дерево.
public interface IGameObject { name: String; parent: IGameObject; } public interface IGameObjectGroup implements IGameObject { function addChild(child: IGameObject); function removeChild(child: IGameObject); ... } public interface IComponent { name: String; parent: IComponent; } public interface IComponentGroup implements IComponent { function addChild(child: IComponent); function removeChild(child: IComponent); ... } |
|
|||||
Может я конечно чего-то не понимаю, разве может интерфейс реализовать другой интерфейс??
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
Цитата:
__________________
http://www.chessmax.ru Последний раз редактировалось Inet_PC; 24.11.2011 в 17:45. |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
IGameObject должен иметь возможность быть IComponent?
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
Регистрация: Nov 2010
Сообщений: 150
|
Извиняюсь, имелось ввиду extends.
Нет IGameObject и IComponent это разные сущности, общее у них только то, что они могут образовывать иерархию и пересылать сообщения в пределах своей иерархии. |
|
|||||
Регистрация: Sep 2010
Сообщений: 47
|
Наверное все же
Stitch512 и -De- под шаблонами имеют ввиду генерики? |
|
|||||
Цитата:
Что типа такого: package { public class BaseGroup { private var baseType: Class; public function BaseGroup(baseType: Class) { super(); this.baseType = baseType; } public function addChild(value: Object):void { if (value && value is baseType) { } else { throw new ArgumentError('BaseGroup can store only ' + baseType); } } } } var group: BaseGroup = new BaseGroup(IGameObject); group.addChild(gameObject); Ну или используйте realaxy там можно. Цитата:
__________________
http://www.chessmax.ru |
|
|||||
Дело идет к blob антипаттерну
__________________
Сам себе репортер |
Часовой пояс GMT +4, время: 04:05. |
|
« Предыдущая тема | Следующая тема » |
|
|