2009-10-16 2 views
5

Как определить C++-подобные шаблоны в AS3 ?; У меня есть класс карты (2d-массив), который я хочу повторно использовать для разных проектов, но данные ячейки - это разные классы в зависимости от проекта или реализации;Шаблоны для AS3 (например, C++)

Там куча других причин относительно кода обмена разнится для различных реализаций, но я надеюсь на Somthing как:

map = new MyMap<MyCell>(); 

Не имеет значения, если это флэш-10 только :-p

Cheers, Chris

ответ

9

Нет шаблонов, но динамическая типизация и использование классов в качестве значений могут быть достаточно хорошими для ваших целей.

Вы можете создать класс, который берет класс и сохраняет его как переменную экземпляра.

class MyMap { 
var myClass:Class; 

function MyMap(c:Class){ 
    myClass = c; 
} 
} 

И тогда вы кормите класс к нему ...

map = new MyMap(MyCell); 

, а затем в методах, вы можете обратиться к этому классу.

// Inside MyMap somewhere 
var someWhatever:Object = new myClass(); 
// or 
var someWhatever:Object = Object(myClass).someCachingSchemeStaticMethod(); 
// or whatever. 
+0

Ah ah, perfect :-D –

5

Вы не можете создавать собственные классы шаблонов. Единственное, что у вас есть во всей AS3, - Vector.

Для этого же есть JARA. feature request. Не стесняйтесь повышать.

Смежные вопросы