Podría darse el caso que quisiéramos, en función de una entrada del usuario o cualquier cosa, crear diferentes objetos, instancias de clases distintas. Podríamos hacer esto de diversas maneras: tal vez un switch, o algo por el estilo, pero hay una manera mucho más práctica y que puede dar mucho juego.
Supongamos que tengo una película con dos símbolos: un cuadrado y un triángulo, cada uno de los cuales tiene como clase base Forma y como clase individual Cuadrado y Triangulo, respectivamente (no me hizo falta romperme mucho la cabeza). Por ejemplo, el usuario tiene que decidir si quiere añadir un cuadrado o un triángulo al escenario. Yendo a lo fundamental:
Código :
import clases.Forma; var choice:String; // Esta será la elección del usuario var Clase:Class = getDefinitionByName (choice) as Class; // Esta es la línea clave; se define una variable // con la clase Class y mediante la functión // getDefinitionByName que recibe una cadena // obtenemos una referencia a la clase deseada var forma:Forma = new Clase(); // Y esta es la magia del truco :) // La variable, de todas maneras, siempre ha de ser // de una superclase de la clase elegida addChild (forma);
Es muy general, pero sé que dará grandes ideas; a mí me sacó de un aprieto
¡Saludos!
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por Daniel Rodriguez el 26 de Diciembre de 2008
Termine creando una clase para el movieclip y haciendo:
var clase:Class = ClaseDelMovieClip;
Por Delfi el 29 de Diciembre de 2008
Por Bleend el 15 de Enero de 2009
Por Juanlu_001 el 15 de Enero de 2009
Me alegro de que les sea útil!
Por Marcos el 06 de Julio de 2009
Por Shift_ el 15 de Agosto de 2009
Gracias x el tip!