你会如何实现像Vector。<t>?</t>这样的泛型

时间:2010-11-01 17:43:03

标签: actionscript-3 generics

因此,ActionScript 3具有Vector类(Vector。)的泛型。我没有看到任何其他类使用这样的泛型。

如果你要实现Vector。你自己,你会怎么做?

4 个答案:

答案 0 :(得分:3)

如果你追求仿制品,那么你最好看看Haxe。它与ActionScript 3非常相似,可以编译为swc或swf。

答案 1 :(得分:1)

回到上面的haxe帖子...你可以在haxe中创建泛型,然后将代码编译为as3。最近没有尝试过,看看它是如何处理的,但是...... http://haxe.org/doc/flash/as3gen

答案 2 :(得分:0)

你可以创建一个以类型T作为参数的类,就像这样     Foo(类型:*)

然后在所有可以向Vector类添加项目的方法中,如果传递给方法的对象类型与我实例化vector类时定义的类型不匹配,我将引发一个excpetion。

话虽这么说,你可能不会从这样的类中获得非常好的性能,因为每次处理一个对象时你需要在运行时检查它的真实类型,就像在C ++模板类中创建编译时一样,所以不需要进行运行时类型检查。

答案 3 :(得分:0)

AS3不支持泛型类声明。有一个很好的讨论here