[ Foro de Python ]

Variable privada en clase heredada

22-May-2020 19:41
Invitado (Sharon)
0 Respuestas

Buen dia
Estoy resolviendo un examen en linea sobre clases heredadas las cuales utilizan variables privadas
Tengo entendido que si la clase hija hace un llamado a una clase padre la cual tienen una variable privada esta no puede ser alterada externamente
Envío el código

class A:
   def __init__(self,x,y):
       self.__a = x
       self.b = y
   def f(self):
       print(self.__a, self.b)
   def x(self):
       print(4)

class D:
   def x(self):
       print(9)

class C(A,D):
   def x(self):
       print(98)

g = C(6,7) ; g.x()
g.__a=8; g.b=79
g.f()        

El resultado me da  98 ;  6 y 79 . Sin embargo según el examen dice 98; 8 Y 79. No entiendo por que el resultado es 8 si la variable es privada. No se si es un error de quien dio la respuesta en el examen
Gracias por su ayuda




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)