Aufrufen statischer Methoden in ES6-Klassen
In ES6-Klassen können statische Methoden mit dem Schlüsselwort static definiert werden. Man könnte sich fragen, wie diese statischen Methoden standardmäßig aufgerufen werden.
Zwei Ansätze:
1. Verwendung des Konstruktors
Bei diesem Ansatz wird die Konstruktoreigenschaft der Klasseninstanz verwendet, um auf die statische Methode zuzugreifen. Zum Beispiel:
class SomeObject { constructor(n) { this.n = n; } static print(n) { console.log(n); } printN() { this.constructor.print(this.n); } }
2. Verwenden des Klassennamens
Der andere Ansatz besteht darin, den Namen der Klasse direkt zum Aufrufen der statischen Methode zu verwenden. Etwa so:
SomeObject.print(123);
Auswirkungen auf die Vererbung:
Die Verwendung beider Ansätze hat unterschiedliche Auswirkungen auf die Vererbung und das Überschreiben statischer Methoden.
Fazit:
Beides Ansätze sind gültig, die Wahl hängt jedoch vom gewünschten Verhalten im Zusammenhang mit der Vererbung ab. Wenn Sie erwarten, dass statische Eigenschaften konsistent bleiben und zur ursprünglichen Klasse gehören, verwenden Sie den Klassennamen-Ansatz. Wenn Sie dynamischen Zugriff auf die statischen Eigenschaften der Klasse der aktuellen Instanz benötigen, verwenden Sie den Konstruktoransatz.
Das obige ist der detaillierte Inhalt vonWie rufe ich statische Methoden in ES6-Klassen auf: Konstruktor vs. Klassenname?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!