2010-11-01 11 views

Respuesta

3

Si buscas productos genéricos, entonces es mejor que veas Haxe. Es muy similar a ActionScript 3 y se compila en swc o swf.

0

Bien se podría hacer una clase que tiene un tipo T como un parámetro, algo como esto Foo (tipo: *)

Y luego, en todos los métodos de los cuales se pueden agregar elementos a la clase Vector, Haré una excpetion si el tipo de objeto pasado al método no coincide con el tipo que definí cuando realicé la instancia de mi clase vectorial.

Dicho esto, es probable que no obtenga muy buen rendimiento de una clase como esa, ya que cada vez que maneja un objeto necesita comprobar su tipo real en tiempo de ejecución, donde se crean clases de plantillas C++ en tiempo de compilación , por lo que no es necesario realizar ninguna comprobación del tipo de tiempo de ejecución.

+0

No, realmente estaba buscando entender cómo implementarlo exactamente ... con la sintaxis genérica que utiliza Vector y verificación en tiempo de compilación ... lo hicieron una vez ... cómo lo hicieron ¿eso? –

+2

Los genéricos no existen en AS3, no puede crear clases de plantilla ni nada de eso. Lo más parecido a los genéricos es el Vector incorporado. tipo. – dotminic

+2

Pero Vector lo hace ... ¿es un compilador especial de una sola vez? –

1

Volviendo a la publicación anterior de haxe ... puede crear genéricos en haxe y luego compilar el código en as3. No lo intenté recientemente para ver cómo se maneja, pero ... http://haxe.org/doc/flash/as3gen

0

AS3 no es compatible con la declaración de clase genérica. Hay una buena discusión here

+0

¿Se podría usar un objeto de tipo 'Objeto' como genérico? –

+0

No es que yo sepa. Además, el uso de Object omite todo el proceso de verificación del tiempo de compilación, que no es tan útil en ese caso. –

Cuestiones relacionadas