[ Foro de Python ]
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.)