- En este artículo vamos a ver como definir una propiedad en flex, pero primero debemos conocer ¿qué es una propiedad?.
Una propiedad es una variable que define a una clase, es decir, son variables que se definen al momento de crear una clase para que formen parte de esta, por ejemplo: Si definimos la clase Mesa probablemente le definamos las propiedades altura, anchura, profundidad, etc.
Este concepto se aplica a todos los lenguajes de programación orientada a objetos, vamos a ver como sería la definición de esta clase ejemplo en actionscript:
public class Mesa
{
public function Mesa()
{
}
public var profundidad: String;
public var altura : Number;
public var anchura : Number;
}
Otra cosa que debemos saber es la utilizacion de los metodos get y set para tener mucho mas control sobre las propiedades de una clase.
¿Qué son los metodos get y set?
En el lenguaje de la programacion orientada a objetos se estila mucho la utilización de metodos que te permitan asignar y obtener valores a las propiedades, para explicar mejor les explico implementando los metodos get y set para la clase mesa:
public class Mesa
{
public function Mesa()
{
}
private var _color : String;
private var _altura : Number;
private var _anchura : Number;
public function get color() : String
{
return this._color;
}
public function set color(value : String) : void
{
this._color = value;
}
public function get altura() : String
{
return this._altura;
}
public function set altura(value : String) : void
{
this._altura = value;
}
public function get anchura() : Number
{
return this._anchura;
}
public function set anchura(value : String) : void
{
this._anchura = value;
}
}
¿Qué ventajas tiene utilizar los métodos get set?
- Puedo controlar el acceso a las variables de la clase, por ejemplo pudiera no definir un metodo "set" para una de las variables y de esta manera cualquier instancia de este tipo de clase tendria esa variable de solo lectura.
- Puedo colocar propiedades calculadas, por ejemplo cuando en un arreglo hacemos arreglo.length, a nosotros nos devuelve el numero de elementos del arreglo pero en realidad lo que hace la clase es recorrer todos los items y los cuenta para luego decirnos cuantos fueron. En esta clase Mesa un ejemplo de propuedad calculada seria la propiedad "volumen", que viene siendo la multiplicacion de ancho * alto * profundidad.
- Puedo realizar acciones cuando cambie la propiedad. Como la unica manera de modificar el varlor de esta variable es a través del metodo set, entonces puedo contruir el metodo con sentencias extra o validaciones antes de asignar el valor recibido a la variable, por ejemplo:
public function set altura(value : String) : void
{
if(value>0)
this._altura = value;
}
En este caso solo asignamos el valor introducido por el usuairo a esta varible, en el caso en que sea mayor a cero, despues de todo, una altura no puede ser menor que 0, ya que sino la mesa no se visualizaria.
No hay comentarios:
Publicar un comentario