Je lisais la documentation de Python à propos classes et suis tombé sur ce point que je ne suis pas sûr:Appel outrepassée Méthodes de classe dérivée de la classe de base
Les classes dérivées peuvent redéfinir les méthodes de leurs classes de base. Parce que les méthodes ont pas de privilèges spéciaux lorsque appeler d'autres méthodes du même objet , une méthode d'une classe de base qui appelle une autre méthode définie dans la même classe de base peut finir par appeler une méthode d'une classe dérivée qui overrides il. (Pour les programmeurs C++ toutes les méthodes en Python sont effectivement virtuelle.)
Exemple:
class A:
def foo(self):
self.bar()
def bar(self):
print "from A"
class B(A):
def foo(self):
self.bar()
def bar(self):
print "from B"
Est-ce que cela signifie qu'un objet de la classe A obj = A()
peut se terminer en quelque sorte l'impression "de B" ? Est-ce que je lis ceci correctement? Je m'excuse si cela n'a pas de sens. Je suis un peu confus quant à la façon dont python gère l'héritage et le dépassement. Merci!
Pour se développer, le mot d'ordre est _may_ appeler une méthode d'une classe dérivée. 'obj = B()' _would_ imprime "de B". –