Comunidad de diseño web y desarrollo en internet online

Propiedades compartidas entre instancias de clase. ¿Porqué?

Citar            
MensajeEscrito el 13 Ago 2009 04:15 pm
Hola,

tengo una duda con una clase que he creado y que extiende la clase MovieClip. No entiendo porque (y me diréis que es un concepto básico de POO) las instancias de esta clase comparten propiedades que modifico. Intento explicarme con un poco de código:

La Clase:

Código ActionScript :

class boton extends MovieClip{
   var valores:Array = [];

   function boton(){
      setEvents();
   }

   function setEvents(){
      this.onRelease = function(){ // al hacer clic
         valores.push(Math.random()); // añado un valor aleatorio al Array valores, por ejemplo
         trace(valores);
      }
   }
}


El SWF:

Código ActionScript :

import boton;
var boton1:MovieClip = _root.attachMovie("bt","boton1",1);
var boton2:MovieClip = _root.attachMovie("bt","boton2",2);


Y aquí el problema: ¿Porqué el boton1 y el boton2 comparten el mismo Array "valores" si se trata de dos instancias diferentes?

Básico, seguro.
Gracias de antemano!

Por kiwiki098

15 de clabLevel



 

safari
Citar            
MensajeEscrito el 14 Ago 2009 11:31 am
Prueba así:

Código ActionScript :

class boton extends MovieClip{ 
   var valores:Array; 
 
   function boton(){ 
      setEvents(); 
      valores = new Array()
   } 
  ....


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Ago 2009 11:59 am
Entiendo,

Debo declarar la propiedad primero y al crear la instancia inicializarla.

Muchas gracias Jorge!

Por kiwiki098

15 de clabLevel



 

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.