我试图在python中覆盖受保护的方法,我得到了这个例外:
如果float(rMontant)> = float(self .__ decouvert_autorise): RecursionError:调用Python对象时超出了最大递归深度
这是我的代码:
class Compte(object):
def __init__(self, numero, nom_titulaire, solde):
self.__numero = numero
self.__nomTitulaire = nom_titulaire
self.__solde = solde
def _retirer(self, rMontant):
if self.__solde >= rMontant:
self.__solde -= rMontant
print("bien retirer")
class CompteCourant(Compte):
def __init__(self, numero, nom_titulaire, solde):
super().__init__(numero, nom_titulaire, solde)
self.__decouvert_autorise = 0
def setDecouvertAutorise(self, decouvert_autorise):
self.__decouvert_autorise = decouvert_autorise
def _retirer(self, rMontant):
if float(rMontant) >= float(self.__decouvert_autorise):
return "plus que le solde autorisé"
else:
self._retirer(rMontant)
return "ok"
p = CompteCourant(1425, "azer", 8000)
p.setDecouvertAutorise(1000)
print(p._retirer(500))