Comunidad de diseño web y desarrollo en internet online

Problema con metodos set y get en Clase AS3

Citar            
MensajeEscrito el 24 Jul 2007 03:18 am
Hola clabbers, me estoy iniciando con el AS3 y estoy haciendo pruebas básicas con clases paquetes y esas cosas.

Mi problema es que estoy intentando acceder a un atributo de la clase a travez de su método get pero me da error en momento de ejecución espero que me puedan ayudar.

Codigo
Bicicleta.as

Código :

package clases{
   public class Bicicleta{
      private var velocidad:int = 0;
      public static var maxVelocidad:Number = 10;
      public static var minVelocidad:Number = 0;
      private var direccion:String = "";
      public function Bicicleta(){
         incrementarVelocidad();
      }
      public function incrementarVelocidad():void{
         if(this.velocidad < maxVelocidad){
            this.velocidad += 1;
         }
      }
      public function decrementarVelocidad():void{
         if(this.velocidad > minVelocidad){
            this.velocidad -= 1;
         }
      }
      public function virarDerecha():void{
         
      }
      public function virarIzquierda():void{
         
      }
      public function get velocidad():int{
         return this.velocidad;
      }
      public function set velocidad(velocidad:int):void{
         this.velocidad = velocidad;
      }
   }
}


Archivo .fla (este código esta en el primer frame)

Código :

stop();
import clases.*;
var b:Bicicleta = null;

iniciarBtn.addEventListener(MouseEvent.CLICK, incrementar);
function incrementar():void{
   if(b == null){
      b = new Bicicleta();
      velocidadLabel.label = String(b.velocidad);
   }else{
      b.incrementarVelocidad();
      velocidadLabel.label = String(b.velocidad);
   }   
}


En el escenario lo que tengo es, un boton el cual se llama iniciarBtn y un label que se llama velocidadLabel el cual me va a indicar la velocidad del objeto bicicleta.

Por psycho-vnz

Claber

1186 de clabLevel

7 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Jul 2007 10:35 am
Aquí está el fallo:

Código :

  public function get velocidad():int{
         return this.velocidad;
      }

No puedes devolver la misma referencia a la función. Tienes que tener una variable, normalmente privada, por ejemplo, _velocidad, que se encargue de guardar efectivamente el valor. El getter es la función para acceder a esa variable.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 25 Jul 2007 01:49 pm
Listo Zah, funciona perfect (y) gracias.

Por psycho-vnz

Claber

1186 de clabLevel

7 tutoriales

Genero:Masculino  

firefox

 

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