Comunidad de diseño web y desarrollo en internet online

Cuando usar Atributos de propiedad de clase y variables

Citar            
MensajeEscrito el 29 May 2014 03:24 am
Estoy algo confundida con los atributos de propiedades de clases y variables
por ejemplo nose cuando usar una varible private con una public o internal al igual que las clases o funciones aquí los conceptos que conseguí, me podrían explicar con algunos ejemplos sencillos para poder visualizarlo mejor gracias!

Atributos de control de acceso a variables:
public : a disposición de cualquier llamado
private : disponible únicamente para la clase que lo define
protect : disponible únicamente para la clase que lo define y para las subclases de dicha clase
internal : disponible para cauqluier llamado dentro del mismo paquete

Atributos de propiedad de clase:
internal (valor predeterminado): Visible para referencias dentro del mismo paquete.

private : Visible para referencias dentro de la misma clase.

protected : Visible para referencias en la misma clase y en clases derivadas.

public : Visible para referencias en todas partes.

static : Especifica que una propiedad pertenece a la clase en lugar de a las instancias de la clase.

UserDefinedNamespace : Nombre de espacio de nombres personalizado definido por el usuario.

Por Jenniferp

9 de clabLevel



 

chrome
Citar            
MensajeEscrito el 29 May 2014 01:09 pm
Esto pertenece a la teoría general de programación orientada a objetos más que a AS3 en particular, y las definiciones las tienes. La pregunta fundamental cuando haces una variable/método es: quiero que cualquier clase la acceda?

Supon que tienes una clase persona con la propiedad edad

public var edad:int = 20;

Viene la clase Policia y decide hacer esto

lapersona.edad = 50;

Ahora la instancia tiene 50 de edad, pero las reglas del programa indican que solo puede cambiar la edad en funcion de otra variable relacionada que se llama tiempo. Decido entonces pasarla a privada

private var _edad:int = 20;

Listo, ahora ninguna clase puede manipular la variable edad ... aunque hay una clase que si podría hacerlo, que es la clase Tiempo (instancia tiempo) Como AS3 es un lenguaje tipado, podemos crear un setter y verificar que el acceso sea legal

Código ActionScript :

public set edad(t:Tiempo):void{
   _edad += t.elapsed(minacimiento) 
}


Asumo variable Date minacimiento y metodo elapsed en la clase Tiempo. Usando adecuadamente la encapsulación (que de eso se trata el scope de métodos y variables) protejo la integridad de mi programa. Si me pasan algo que no es Tiempo al método, me da error pues no pertenece al tipo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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