开发者

Templates for AS3 (like c++)

How do I开发者_开发问答 define C++-like templates in AS3?; I have a map class (2d array) that I want to re-use across projects but the cell data is a different class depending on the project or implementation;

There are a bunch of other reasons regarding sharing code accross different implementations, but I'd hope for somthing like:

map = new MyMap<MyCell>();

Doesn't matter if it's Flash 10 only :-p

Cheers, Chris


There aren't templates, but dynamic typing and using classes as values might be good enough for your purposes.

You can make a class that takes a class and stores it as an instance variable.

class MyMap {
 var myClass:Class;

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

And then you feed the class to it...

map = new MyMap(MyCell); 

And then in methods, you can refer to that class.

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


You can't make your own template classes. The only one you have in the whole of AS3 is Vector.

There's an open feature request for the same on JIRA. Feel free to upvote.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜