Appel de méthodes de classe parent en Python
Lorsque vous travaillez avec des hiérarchies d'objets en Python, il peut être nécessaire d'invoquer des méthodes à partir d'une classe parent au sein une classe d'enfant. Contrairement à Perl ou Java, où des mots-clés spécifiques existent à cet effet, Python nécessite l'utilisation de références explicites de classe parent.
Dans l'exemple fourni, le code utilisant Foo::frotz() n'est pas idéal car il force l'enfant classes pour savoir quelle classe a défini des méthodes héritées, entraînant des dépendances d'informations et des problèmes potentiels lors de la création de hiérarchies profondes.
Pour résoudre ce problème, Python propose la fonction super(). En utilisant super(), vous pouvez accéder et appeler les méthodes de classe parent à partir d'une classe enfant sans spécifier explicitement le nom de la classe parent.
Pour Python 3 et versions ultérieures, vous pouvez simplement utiliser :
class Foo(Bar): def baz(self, **kwargs): return super().baz(**kwargs)
Pour Python 2, vous devez explicitement activer les classes de nouveau style et utiliser :
class Foo(Bar): def baz(self, arg): return super(Foo, self).baz(arg)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!