Hola amigos, sigo haciendo mis pinitos con POO, y dándome cuenta de que no
tengo ni idea. Quería compartir con vosotros una cosa que he visto, puede
ser que por mi ignorancia ya la conozcáis, pero yo no recuerdo haber leído
nada al respecto en la ayuda de Flash sobre Clases. Bueno si alguien me
ilumina con la razón, se lo agradeceré, sino dejo el caso "por resolver".
Estaba diseñando una clase (que hereda de otra) con un atributo que es un
array de colores
*class TestEMP extends Pregunta{*
* public var lista:Array = new
Array(0xFFFF00,0x66FFFF,0x66FF00,0xFF00FF,.......................)*
* .*
* .*
* mibt = new BotonColor(this,.....) // Le paso al botón la referencia
del objeto que lo instancia
*
El caso es que dentro de esta clase instancio varios objetos (similares
a botones) que según se van pulsando se cambian del primer color del array y
hacen un:
*miColor = test.lista.shift() // Elimino el primer color del Array y se lo
paso al objeto para colorearlo*
**
Bueno, hasta aquí todo correcto, el problema lo he visto cuando he creado
otro objeto TestEMP, con sus respectivos botones de colores. Me he
encontrado con que los botones de colores se coloreaban con los siguientes
colores del Array del objeto anterior. O sea, es como si el atributo lista
fuera STATIC, y lo compartieran todas las instancias de la clase TestEMP.
Esto no me servía, así que se me ocurrió cómo solucionarlo y el caso es que
ha funcionado, pero no entiendo muy bien el por qué.
Basta con inicializar el array dentro del constructor del objeto en lugar de
en la declaración del atributo.
*class TestEMP extends Pregunta{*
* public var lista:Array;*
* *
* function TestEMP(..................){*
* this.lista = new
Array(0xFFFF00,0x66FFFF,0x66FF00,0xFF00FF,.......................);*
**
Con esto funciona como yo esperaba que funcionara lo anterior, así que si
conocéis el por qué de este tema, podemos abrir un hilo muy interesante o
descubrir un "bug" interesante.
Salu2
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------