Comunidad de diseño web y desarrollo en internet online

private var, error mio o del action script

Citar            
MensajeEscrito el 27 May 2006 04:10 pm
:roll: lo q pasa es q haciendo una prueba entre dos clases en .as logicamente hechas en actionscript, en donde en una clase tengo privadas las variables, y en la otra lleno las variables mediante el constructor de la primera clase, sin problema hasta hay..., el problema q veo, es q como son privadas no deveria dejar acceder a los datos directamente de clase a clase. me explico

CLASE A

Código :

class reg{
   private var nombre:String;
   private var edad:Number;

        //CONSTRUCTOR
   function reg(nombre:String,edad:Number){
      this.nombre=nombre;
      this.edad=edad;
   }
}


como pueden ver las variables nombre y edad son privadas, es decir q solo se puede acceder directamente desde la misma clase.

CLASE B

Código :

class guarda{
   var vec=new Array();

        //METODO Q CREA VARIOS OBJETOS REG Y LOS GUARDA EN UN VECTOR
   public function guardar(){
      for(var i=0;i<10;i++){
         var temp=new reg("nombre"+i,20+i);
         vec.addItem(temp);
      }
   }

        //METODO Q MUESTRA INFORMACION DEL VECTOR Q TIENE OBJETOS REG
   public function muestra(){
      trace("acabo...\n");
      for(var i=0;i<10;i++){
         trace("Nombre: "+vec[i].nombre+"   Edad:"+vec[i].edad+"\n");
      }
   }
}

el problema es q no deberia dejar acceder a los datos de esta forma ej

Código :

vec[i].nombre
por q no cumple las propiedades de variables privadas.

no creo q este mal lo q hice, pues lo estoy implementando igual q en java, pero si alguien ve el error por fa
gracias...

Por hackjasl

72 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 May 2006 04:56 pm
Haz un getter en reg y mira a ver si realmente estas cogiendo los valores y haz declaración estricta de tipos al crear el objeto reg, es decir, no hagas "var temp = new reg();", haz "var temp:reg = new reg".

Además también te aconsejo que los nombres de las clases los pongas con la primera letra en mayúsculas.

Deu!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

firefox
Citar            
MensajeEscrito el 31 May 2006 10:51 pm
pues si error de actionScript, ademas no interviene en nada lo gerarquico y mucho lo de mayusculas en la clase cabe decir(regla de programacion), lo q pasa es q flash deberia actionscript deberia limitar u obligar al usuario a usar el metodo

Código :

getItemAt(int x)
ya q puede acceder directamente a las variables privadas desde otra referencia, ademas este error solo se ve de variable privada a vector o matriz pero no de variable privada a variable :lol:

Por hackjasl

72 de clabLevel



 

firefox

 

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