Cuestión de flexibilidad (AS 2.0)
Pero esta flexibilidad no es exclusiva del "viejo" actionscript, sino que podemos hacer exactamente lo mismo con AS2.0
En primer lugar, vamos a crear nuestra clase de pruebas:
class net.designnation.exp.Dinamica{
public var prop1:String;
public var prop2:String;
public var prop3:String;
function Dinamica(){
}
public function metodo(Void):Void{
trace("método ------");
trace(prop1 + " " + prop2 + " " + prop3);
}
}
Esta clase tiene que salvarse en disco en un archivo que se llame Dinamica, y en el path correspondiente (es decir, net/designnation/exp).
En el primer frame de la línea de tiempo principal escribimos lo siguiente:
import net.designnation.exp.*;
var testClass:Dinamica = new Dinamica();
testClass.prop1 = "Hola";
testClass["prop2"] = "estoy";
var cadena:String = "prop3";
testClass[cadena] = "probando";
//Ahora recupero los valores
for (var k=1;k<4;k++){
trace(testClass["prop"+k]);
}
//Y ejecuto el método definido
testClass.metodo();
//o bien
testClass["metodo"]();
//o bien
var cadena2:String="metodo";
testClass[cadena2]();
stop();
Ahora, pues, podemos hacer que un método de la clase ejecute otro cuyo nombre se pasa como parámetro, o que una clase ejecute métodos de otra, o......
En fin, que, una vez más, actionScript demuestra ser un lenguaje muy potente y flexible.