Heim > Backend-Entwicklung > Python-Tutorial > Wie rufe ich übergeordnete Klassenmethoden in untergeordneten Python-Klassen auf?

Wie rufe ich übergeordnete Klassenmethoden in untergeordneten Python-Klassen auf?

Patricia Arquette
Freigeben: 2024-11-27 12:25:11
Original
671 Leute haben es durchsucht

How Do I Call Parent Class Methods in Python Child Classes?

So rufen Sie übergeordnete Klassenmethoden in Python-untergeordneten Klassen auf

In der objektorientierten Programmierung müssen abgeleitete Klassen normalerweise auf in ihnen definierte Methoden zugreifen Elternklassen. Dies ist ein häufiges Szenario, das beim Erstellen komplexer Klassenhierarchien auftritt. Allerdings können die Namenskonventionen von Python einige Fragen für Entwickler aufwerfen, die aus anderen Sprachen wie Perl und Java kommen.

Anders als die Schlüsselwörter „SUPER“ von Perl oder Java „super“ bietet Python keine vordefinierte Möglichkeit, übergeordnete Methoden aufzurufen . Stattdessen müssen Sie beim Aufruf der Methode explizit den Namen der übergeordneten Klasse angeben. Dies kann zu Herausforderungen bei der Aufrechterhaltung tiefer Klassenhierarchien führen, bei denen die Verfolgung der Abstammung geerbter Methoden kompliziert wird.

Um diese Einschränkung zu überwinden und übergeordnete Methoden nahtlos aufzurufen, stellt Python die Funktion super() bereit. Mit diesem Dienstprogramm können Sie Methoden aus der übergeordneten Klasse aufrufen, ohne explizit auf deren Namen zu verweisen. Lassen Sie uns anhand eines einfachen Beispiels untersuchen, wie super() verwendet wird:

class Foo(Bar):
    def baz(self, **kwargs):
        return super().baz(**kwargs)
Nach dem Login kopieren

In diesem Code erbt die Foo-Klasse von Bar und definiert eine baz()-Methode. Innerhalb der baz()-Methode von Foo können wir die baz()-Methode von Bar aus mit super().baz(**kwargs) aufrufen.

Wenn Sie Python-Versionen vor 3 verwenden, müssen Sie Sie müssen die Verwendung von Klassen neuen Stils explizit aktivieren und den Code wie folgt schreiben:

class Foo(Bar):
    def baz(self, arg):
        return super(Foo, self).baz(arg)
Nach dem Login kopieren

Durch die Verwendung von super() auf diese Weise können Sie übergeordnete Methoden unabhängig von der Tiefe problemlos aufrufen Ihre Klassenhierarchie. Dadurch bleibt Ihr Code sauber und wartbar, sodass die übergeordnete Klasse beim Zugriff auf ihre Methoden nicht explizit benannt werden muss.

Das obige ist der detaillierte Inhalt vonWie rufe ich übergeordnete Klassenmethoden in untergeordneten Python-Klassen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage