Sinceramente, no entiendo cuál es el motivo de usar el namespace de la clase
para obtener una instancia de la misma.
En este punto, es mucho más versátil pasar el constructor a la función y que
sea ella la que cree la instancia (se entiende que debe hacer algo más que
crear una instancia, ¿verdad?). Esto funcionará también para clases
prototipadas:
function getCustomInstance(customClass:Function) {
return new customClass();
}
En cualquier caso, un factory debería funcionar así:
function getCustomInstance(customType:Number) {
switch(customType) {
case FOO_TYPE:
return new Foo();
case BAR_TYPE:
return new Bar();
case default:
throw new Error();
}
}
¿0.02 €?
M.
> -----Mensaje original-----
> De: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] En nombre de Zárate
> Enviado el: miércoles, 13 de diciembre de 2006 16:59
> Para: Lista dedicada a Actionscript
> Asunto: Re: [ASNativos] crear instancias de clase
>
> Gracias Joseba :)
>
> La verdad es que no pongo un RSS porque tampoco es que
> escriba muchos articulos (5 este anyo). Lo que hago es
> anunciarlos en el blog. Pero claro, eso implica que te
> tragues *todas* las chapas que suelto xDD
>
> Y lo de _global[nombre]() creo que no funcionaria, pero a lo mejor
> _global[eval(nombre)]() si. Pero yo diria que _global y eval
> en la misma linea deberia dar error al compilar :D
>
> Salud!
>
> On 12/13/06, Joseba Alonso <[EMAIL PROTECTED]> wrote:
> > Uops!
> >
> > Mirando tu articulo, quizas lo de mi _global[nombre]() es demasiado
> > inocente y ni funcione.
> >
> > Fernando, mirate lo de Zarate que tiene pinta de estar mas
> estudiado
> > :)
> >
> > Un saludo,
> >
> > Joseba
> >
> > > -----Mensaje original-----
> > > De: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] En nombre de Zárate
> Enviado el:
> > > miércoles, 13 de diciembre de 2006 15:01
> > > Para: [EMAIL PROTECTED]; Lista dedicada a
> Actionscript
> > > Asunto: Re: [ASNativos] crear instancias de clase
> > >
> > > He escrito hace poco un par de tutos sobre como hacerlo en Flash:
> > >
> > > http://www.zarate.tv/articulos/instancias-dinamicamente/
> > > http://www.zarate.tv/articulos/cargar-clases-dinamicamente/
> > >
> > > No creo que sea lo mejor del mundo, pero funciona.
> > >
> > > Salud!
> > >
> > > On 12/13/06, Hari Seldon <[EMAIL PROTECTED]> wrote:
> > > > Lo más elegante es un factory
> > > >
> > > > http://www.javahispano.org/articles.article.action?id=20
> > > >
> > > > Ahí te viene un ejemplo con figuras inclusive
> > > (vamos, ni hecho
> > > > a medida casi)
> > > >
> > > > Está en Java, pero no creo que tengas ningún
> > > problema para ver
> > > > la implementación en AS 2.0
> > > >
> > > > El patrón abstract factory te puede interesar
> > > dependiendo de
> > > > cuánto quieras complicar tu árbol de clases.
> > > >
> > > >
> > >
> http://es.wikipedia.org/wiki/Factory_Method_(patr%C3%B3n_de_dise%C3%
> > > B1
> > > > o)
> > > >
> > >
> http://es.wikipedia.org/wiki/Abstract_Factory_(patr%C3%B3n_de_dise%C
> > > 3%
> > > > B1o)
> > > >
> > > > Un saludo
> > > >
> > > > *Nota: lo que comenta de crear una u otra figura
> dependiendo del
> > > > número de argumentos, se haría sobrecargando el método (eso
> > > en Java);
> > > > en AS 2.0, sería un poco rollo la misma implementación; por
> > > ello igual
> > > > no es recomendable hacerlo así.
> > > > > -----Mensaje original-----
> > > > > De: [EMAIL PROTECTED]
> > > > > [mailto:[EMAIL PROTECTED] En nombre de fernando
> > > b Enviado
> > > > > el: miércoles, 13 de diciembre de 2006 13:20
> > > > > Para: Lista dedicada a Actionscript
> > > > > Asunto: Re: [ASNativos] crear instancias de clase
> > > > >
> > > > > esto lo quiero hacer pq en futuro lo mismo me
> encuentro con 100
> > > > > tipos de objetos distintos, imaginate un if para este
> tema.....
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > 2006/12/13, fernando b <[EMAIL PROTECTED]>:
> > > > > >
> > > > > > hay esta la historia de esto, me gustaria no tener q
> > > > > comprobarlo...seria
> > > > > > crear una instancia de manera dinamica, he probado a poner
> > > > > en el nombre de
> > > > > > la clase una var conteniendo por ejem. el nombre Cubo, ejem:
> > > > > > var nombreClase = Cubo;
> > > > > > var objeto:interfazObjecto = new nombreClase(); y nada, me
> > > > > > gustaria hacer algo parecido.....lo mismo me
> > > > > estoy liando yo
> > > > > > solo, no se....
> > > > > >
> > > > > >
> > > > > > El día 13/12/06, Ivan <[EMAIL PROTECTED]> escribió:
> > > > > > >
> > > > > > > Hola Fernando
> > > > > > > no se si te he entendido bien. Tu cargas un xml y generas
> > > > > tantos objetos
> > > > > > > y
> > > > > > > del tipo que te diga el xml no?
> > > > > > > Pues tal como yo lo veo, puedes o bien comprobar de que
> > > > > tipo es una vez
> > > > > > > leido el xml y dependiendo del tipo de nodo.
> > > > > > >
> > > > > > > new Cubo()
> > > > > > > new Bola()
> > > > > > > ...
> > > > > > >
> > > > > > > y una clase para cada una, aunque seguramente
> > > compartiran mucha
> > > > > > > funcionalidad (herencia).
> > > > > > >
> > > > > > > o bien un objeto generico y le pasas un parametro
> > > > > > >
> > > > > > > new Figura("cubo");
> > > > > > > new Figura("Bola");
> > > > > > > ...
> > > > > > >
> > > > > > > Pero en algun sitio tienes que comprobar que tipo de
> > > figura es.
> > > > > > > A mi me gusta mas la primera forma, que luego me resulta
> > > > > mas facil de
> > > > > > > escalar, porque escalará.... :) Un saludo.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > ----- Original Message -----
> > > > > > > From: "fernando b" <[EMAIL PROTECTED]>
> > > > > > > To: "Lista dedicada a Actionscript" < [email protected]>
> > > > > > > Sent: Wednesday, December 13, 2006 12:15 PM
> > > > > > > Subject: [ASNativos] crear instancias de clase
> > > > > > >
> > > > > > >
> > > > > > > hola q tal?, os cuento un pequeño problema q me
> ha surgido...
> > > > > > >
> > > > > > > tengo q desarrollar una aplicacion para mostrar en un
> > > tablero 2D
> > > > > > > diversos objetos q me vienen dados por un xml....
> > > > > > > los objetos en cuestion pueden ser de varios tipos,
> > > bola, cubo o
> > > > > > > triangulo, al pulsar sobre ellos la informacion a
> mostrar es
> > > > > distinta......varia
> > > > > > > segun
> > > > > > > el tipo de objeto
> > > > > > >
> > > > > > > el problema es el siguiente, lo q quiero hacer al dibujar
> > > > > la vista es
> > > > > > > crear
> > > > > > > una instancia del objeto en cuestion sin saber cual es,
> > > > > es decir no
> > > > > > > quiero
> > > > > > > comparar el tipo de datos, ejem:
> > > > > > > si es cubo
> > > > > > > new cubo
> > > > > > > si es bola
> > > > > > > new bola
> > > > > > > etc....
> > > > > > > me gustaria directamente hacer un new Objeto por
> > > ejemplo.....y q
> > > > > > > directamente me cree el tipo en cuestion, y eso es
> > > > > todo...no se si me he
> > > > > > > explicado bien, un saludo
> > > > > > > -----------------------------------------------------
> > > > > > > ASNativos
> > > > > > > www.5dms.com
> > > > > > > subscripciones/desubscripciones
> > > > > > > http://asnativos.5dms.com
> > > > > > > -----------------------------------------------------
> > > > > > >
> > > > > > >
> > > > > > > -----------------------------------------------------
> > > > > > > ASNativos
> > > > > > > www.5dms.com
> > > > > > > subscripciones/desubscripciones
> > > > > > > http://asnativos.5dms.com
> > > > > > > -----------------------------------------------------
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > http://www.jinx.com.es
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > http://www.jinx.com.es
> > > > > -----------------------------------------------------
> > > > > ASNativos
> > > > > www.5dms.com
> > > > > subscripciones/desubscripciones
> > > > > http://asnativos.5dms.com
> > > > > -----------------------------------------------------
> > > >
> > > >
> > > > -----------------------------------------------------
> > > > ASNativos
> > > > www.5dms.com
> > > > subscripciones/desubscripciones
> > > > http://asnativos.5dms.com
> > > > -----------------------------------------------------
> > > >
> > >
> > >
> > > --
> > > Juan Delgado - Zárate
> > > http://zarate.tv
> > > http://dandolachapa.com
> > >
> > > -----------------------------------------------------
> > > ASNativos
> > > www.5dms.com
> > > subscripciones/desubscripciones
> > > http://asnativos.5dms.com
> > > -----------------------------------------------------
> >
> >
> > -----------------------------------------------------
> > ASNativos
> > www.5dms.com
> > subscripciones/desubscripciones
> > http://asnativos.5dms.com
> > -----------------------------------------------------
> >
>
>
> --
> Juan Delgado - Zárate
> http://zarate.tv
> http://dandolachapa.com
>
> -----------------------------------------------------
> ASNativos
> www.5dms.com
> subscripciones/desubscripciones
> http://asnativos.5dms.com
> -----------------------------------------------------
>
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------