Comunidad de diseño web y desarrollo en internet online

public vs. private: no me aclaro

Citar            
MensajeEscrito el 20 Sep 2008 04:35 pm
Hola a todos,

En el duro camino del aprendizaje de ActionScript 3 me encuentro luchando contra las clases. Aparte de 1000 problemas y dudas varias me surge una que seguramente es una tontería pero que no termino de ver clara.

Según libros, tutoriales y todo lo que leo en si en una clase defino un miembro como public es accesible desde cualquier otra clase o desde cualquier otro punto de la aplicación, mientras que private solo permite la visibilidad desde dentro de la propia clase.

Según eso, ¿para que molestarse en usar private ya que con public se tiene eso y mucho más?

En fin, no me cabe duda que no puede ser tan simple y que mi razonamiento es incorrecto; así que os agradecería si me explicais de alguna forma medio sencilla todo este lío. :shock:

Muchas gracias

Por marcnexus

13 de clabLevel



 

Sevilla, España.

firefox
Citar            
MensajeEscrito el 21 Sep 2008 02:58 am
Amigo marcnexus entiendo tu confusión, cualquier persona que se inicia en el mundo del desarrollo de una manera formal y profesional se hace este tipo de preguntas.

La respuesta de porque debo utilizar "private" o "public" no es solamente técnica, por el contrario es totalmente conceptual y estructural. No olvides que la teoría orientada a objetos se basa en la abstracción del un objeto de la vida real (persona, animal, cosa) llevada a la programación.

Un ejemplo puede ser el siguiente (buscare que comprendas el pundo de vista conceptual):
1) Tengo la clase "Casa" y ella tiene una lista de propiedades "ventana, sofa, cocina, puertaPrincipal".
2) Tengo la clase "Vecindad".
3) Dentro de la clase "Vecindad" instancio la clase "Casa"
4) Estando en la clase "Vecindad" quiero acceder a las propiedades de la clase "Casa" y aqui viene la pregunta del millon...!!! Que propiedades de la clase "Casa" deberían ser "private" o "public"???, la respuesta es:

public ventana "La ventana puede ser visualizada por una persona que se encuentre en el vecindario por ende debe ser publica osea que el vecindario tiene acceso a la ventana aunque sea parte de la casa"

private sofa "Solo las personas que vivan dentro de la casa pueden sentarse en el sofa, otras personas que esten el vecindario no podran hacerlo"

private cocina "Solo las personas que vivan dentro de la casa pueden acceder a la cosina, otras personas que esten el vecindario no podran hacerlo"

public puertaPrincipal "La puerta principal puede ser accedida por una persona que se encuentre en el vecindario por ende debe ser publica osea que el vecindario tiene acceso a la puerta principal aunque sea parte de la casa"

Espero poder aclarado tu duda.. o por lo menos en parte :cool:

Por hernanchodiaz

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Sep 2008 07:58 am
Gracias,

El punto de vista conceptual me ha quedado claro con ese fenomenal ejemplo.

Supongo que es cuestión de tiempo y uso hasta que de repente un día te das cuenta que lo entiendes a la perfección.

Por marcnexus

13 de clabLevel



 

Sevilla, España.

firefox

 

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