Heim > Backend-Entwicklung > Python-Tutorial > Wie rufe ich eine Klassenfunktion korrekt aus einer anderen Klassenfunktion heraus auf?

Wie rufe ich eine Klassenfunktion korrekt aus einer anderen Klassenfunktion heraus auf?

Patricia Arquette
Freigeben: 2024-12-17 00:31:24
Original
689 Leute haben es durchsucht

How to Correctly Call a Class Function from Within Another Class Function?

Funktionen innerhalb einer Klasse aufrufen

Bei der Arbeit mit objektorientierter Programmierung müssen Sie möglicherweise Funktionen innerhalb einer Klasse aufrufen. Ein häufiges Szenario besteht darin, zwei Funktionen innerhalb derselben Klasse zu definieren und eine Funktion aus einer anderen heraus aufzurufen. Dieser Artikel führt Sie durch den Prozess des Aufrufs einer Funktion innerhalb einer Klasse.

In diesem Beispiel haben wir eine Klasse namens Coordinates mit zwei Funktionen: distToPoint und isNear. Die distToPoint-Funktion berechnet den Abstand zwischen zwei Koordinaten, während die isNear-Funktion anhand der berechneten Entfernung prüft, ob ein Punkt in der Nähe eines anderen Punkts liegt.

Der ursprünglich bereitgestellte Code:

class Coordinates:
    def distToPoint(self, p):
        """
        Use pythagoras to find distance
        (a^2 = b^2 + c^2)
        """
        ...

    def isNear(self, p):
        distToPoint(self, p)
        ...
Nach dem Login kopieren

Hier Code auftritt, tritt beim Versuch, die distToPoint-Funktion innerhalb der isNear-Funktion aufzurufen, ein Fehler auf. Um eine Funktion innerhalb einer Klasse korrekt aufzurufen, muss sie als Mitgliedsfunktion auf der Instanz (Selbst) aufgerufen werden. Der folgende Code zeigt die korrigierte Version:

class Coordinates:
    def distToPoint(self, p):
        """
        Use pythagoras to find distance
        (a^2 = b^2 + c^2)
        """
        ...

    def isNear(self, p):
        self.distToPoint(p)
        ...
Nach dem Login kopieren

Durch die Verwendung von self.distToPoint(p) innerhalb der isNear-Funktion wird die distToPoint-Funktion korrekt als Mitgliedsfunktion für die aktuelle Instanz der Coordinates-Klasse aufgerufen.

Das obige ist der detaillierte Inhalt vonWie rufe ich eine Klassenfunktion korrekt aus einer anderen Klassenfunktion heraus 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