Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Deyual en Diciembre 14, 2014, 11:58:30 AM

Título: Duda sobre encapsulamiento en Python
Publicado por: Deyual en Diciembre 14, 2014, 11:58:30 AM
Estimada Comunidad, les tengo una pregunta. Resulta que estoy aprendiendo sobre Python Orientado a Objetos, pero tengo problemas con el encapsulamiento. Conozco claramente los dos guiones bajos para seudo-declarar una variable privada. Pero, he leído por ahí que al anteponer un guión bajo seguido del nombre de la clase antes de la variable solicitada, esta se vuelve publica. ejemplo:

Código (python) [Seleccionar]
class Hola(object):

def __init__(self):
super(Hola, self).__init__()
self.__privado = "privado"

def getPrivado(self):
return self.__privado
def setPrivado(self, valor):
self.__privado = valor

obj = Hola()
print obj.__privado # esto da error
obj._Hola__privado = "Publico" # esto pasa sin ningun problema
print obj.getPrivado()  # acá vemos que el dato fue modificado


Si alguien conoce una forma de encapsular que funcione, su concejo es mas que bienvenido.