Foros del Web » Programación para mayores de 30 ;) » .NET »

¿Variables de clase 'private'?

Estas en el tema de ¿Variables de clase 'private'? en el foro de .NET en Foros del Web. Hola buenos días a todos, ¿Las variables de una clase es recomendable que sean siempre 'Private'? Gracias. Saludos....
  #1 (permalink)  
Antiguo 06/10/2015, 01:25
Avatar de Ratus-BROWN  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 169
Antigüedad: 15 años, 9 meses
Puntos: 8
¿Variables de clase 'private'?

Hola buenos días a todos,


¿Las variables de una clase es recomendable que sean siempre 'Private'?

Gracias.
Saludos.
__________________
Disturb_downstairs (....we are cooking!)
  #2 (permalink)  
Antiguo 06/10/2015, 01:54
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: ¿Variables de clase 'private'?

Sí, yo por norma declaro todas las variables privadas. Solo cuando por necesidad han de tener visibilidad desde fuera creo una propiedad (y si puede ser de solo lectura, mejor). Es decir, que miro siempre de ser lo más restrictivo posible.
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 06/10/2015, 02:42
Avatar de Ratus-BROWN  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 169
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: ¿Variables de clase 'private'?

Hola Malenko,

¿Cuando dices propiedad te refieres a un 'Get' que te permita obtener el valor de esa variable privada?


Saludos.
Gracias.
__________________
Disturb_downstairs (....we are cooking!)
  #4 (permalink)  
Antiguo 06/10/2015, 03:44
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: ¿Variables de clase 'private'?

Sí, en el MSDN tienes ejemplos de como se implementa.
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 06/10/2015, 08:24
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: ¿Variables de clase 'private'?

Buenas,

La encapsulacion es uno de los pilares de la OOP. Implica que la implementacion y representacion interna de la clase debe protegerse y no exponerse por defecto.
https://en.wikipedia.org/wiki/Encaps...er_programming)

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #6 (permalink)  
Antiguo 08/10/2015, 01:19
Avatar de Ratus-BROWN  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 169
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: ¿Variables de clase 'private'?

Hola,


El tema de la encapsulación lo tengo claro, lo que realmente me pregunto es: si las variables no están definidas como privadas, como es posible acceder a ellas desde fuera, es decir ¿cualquier clase podría acceder a estas variables? ¿Os importaría ponerme un pequeño ejemplo?


Gracias.
Saludos.
__________________
Disturb_downstairs (....we are cooking!)
  #7 (permalink)  
Antiguo 08/10/2015, 01:59
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: ¿Variables de clase 'private'?

Si necesitas acceder a una variable privada entonces es que no tiene que ser privada, no? Un ejemplo de propiedad sería las ruedas de un vehículo, que sería algo que tendría sentido consultar desde fuera de la clase vehículo.
__________________
Aviso: No se resuelven dudas por MP!
  #8 (permalink)  
Antiguo 08/10/2015, 06:22
Avatar de Ratus-BROWN  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 169
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: ¿Variables de clase 'private'?

Me refiero a que si por error olvido poner una variable de forma privada, ¿Cómo se podría acceder a esta variable desde fuera si no tiene la propiedad de privada? Es decir si yo tengo un Objeto Coche y un objeto Bici, ¿Podría acceder con el objeto bici a una variable del Objeto Coche?

Gracias.
Saludos.
__________________
Disturb_downstairs (....we are cooking!)
  #9 (permalink)  
Antiguo 08/10/2015, 06:35
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: ¿Variables de clase 'private'?

Por defecto, las variables declaradas dentro de una clase son privadas, por lo que no podrás acceder a una variable interna de una clase sin poner de forma explicita el "public".
__________________
Aviso: No se resuelven dudas por MP!
  #10 (permalink)  
Antiguo 08/10/2015, 08:20
Avatar de Ratus-BROWN  
Fecha de Ingreso: febrero-2009
Ubicación: Valencia
Mensajes: 169
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: ¿Variables de clase 'private'?

Pero si esto es así no se da nunca un riesgo de seguridad en el acceso a los datos de una clase. ¿No?

Saludos.
Gracias.
__________________
Disturb_downstairs (....we are cooking!)

Etiquetas: c#, clase, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:12.