AS3的模板(如c ++)

Chr*_*oot 5 flash templates class actionscript-3

如何在AS3中定义类似C++的模板?我有一个地图类(2d数组),我想在项目中重复使用,但单元格数据是一个不同的类,具体取决于项目或实现;

关于在不同的实现中共享代码有很多其他原因,但我希望有类似的东西:

map = new MyMap<MyCell>();
Run Code Online (Sandbox Code Playgroud)

如果它只是Flash 10并不重要:-p

干杯,克里斯

Jes*_*kan 9

没有模板,但动态类型和使用类作为值可能足以满足您的需要.

您可以创建一个接受类的类并将其存储为实例变量.

class MyMap {
 var myClass:Class;

 function MyMap(c:Class){
  myClass = c;
 }
}
Run Code Online (Sandbox Code Playgroud)

然后你把课程喂给它......

map = new MyMap(MyCell); 
Run Code Online (Sandbox Code Playgroud)

然后在方法中,您可以参考该类.

// Inside MyMap somewhere
var someWhatever:Object = new myClass();
// or
var someWhatever:Object = Object(myClass).someCachingSchemeStaticMethod();
// or whatever.
Run Code Online (Sandbox Code Playgroud)


dir*_*tly 5

您无法创建自己的模板类.你在整个AS3中唯一拥有的是Vector.

在JIRA上有一个开放的功能请求.随意upvote.