因此,ActionScript 3具有Vector类(Vector。)的泛型。我还没有看到任何其他类使用这种泛型。你会如何实现像Vector这样的泛型。 <T>?
如果您要实现Vector。你自己,你会怎么做?
因此,ActionScript 3具有Vector类(Vector。)的泛型。我还没有看到任何其他类使用这种泛型。你会如何实现像Vector这样的泛型。 <T>?
如果您要实现Vector。你自己,你会怎么做?
如果你是在仿制药之后,那么你最好看看Haxe。它与ActionScript 3非常相似,并编译为swc或swf。
那么你可以做一个类,它需要一个类型T作为参数,像这样 美孚(类型:*)
然后在所有从中可以添加项目到Vector类的方法,如果传递给该方法的对象的类型与我在创建矢量类时定义的类型不匹配,则会引发一些兴趣。这就是说,你可能不会从这样的类中获得非常好的性能,因为每次处理对象时,都需要在运行时检查它是否为真实类型,在C++模板类中创建编译时,所以不需要执行运行时类型检查。
回到上面的haxe文章...您可以在haxe中创建泛型然后将代码编译为as3。最近没有尝试过,看看它是如何处理的,但是.. http://haxe.org/doc/flash/as3gen
AS3不支持泛型类声明。有一个很好的讨论here
“Object”类型的对象是否可以用作泛型? – 2013-07-05 11:47:38
不是我所知道的。此外,使用Object跳过整个编译时检查过程,这在这种情况下不是很有用。 – 2013-08-13 09:20:28
不,我真的想知道如何正确地实现它......使用Vector使用的泛型语法和编译时检查......他们做了一次......他们是怎么做的它? – 2010-11-01 18:47:38
AS3中不存在泛型,您不能创建模板类或类似的东西。与泛型最接近的是Vector中的内置。类型。 –
dotminic
2010-11-01 18:51:05
但矢量是否......它是一次性的特殊编译器吗? – 2010-11-01 19:01:37