Heim > Artikel > Backend-Entwicklung > Eingehende Analyse statischer Mitglieder von PHP-Klassen
Statische Mitglieder einer Klasse unterscheiden sich von allgemeinen Klassenmitgliedern: Statische Mitglieder haben nichts mit der Instanz des Objekts zu tun, sondern nur mit der Klasse selbst. Sie werden verwendet, um die Funktionen und Daten zu implementieren, die die Klasse kapseln möchte, umfassen jedoch nicht die Funktionen und Daten bestimmter Objekte. Statische Mitglieder umfassen statische Methoden und statische Eigenschaften.
Statische Eigenschaften enthalten Daten, die in einer Klasse gekapselt werden sollen, und können von allen Instanzen der Klasse gemeinsam genutzt werden. Tatsächlich sind die statischen Eigenschaften einer Klasse nicht nur einer festen Klasse zugehörig und beschränken Zugriffsmethoden, sondern auch den globalen Variablen einer Funktion sehr ähnlich.
Im folgenden Beispiel verwenden wir eine statische Eigenschaft Counter::$count. Es gehört zur Counter-Klasse und nicht zu einer Instanz von Counter. Sie können this nicht verwenden, um darauf zu verweisen, aber Sie können self oder andere gültige Benennungsausdrücke verwenden. Im Beispiel gibt die getCount-Methode self::$count zurück, nicht Counter::$count.
Statische Methoden implementieren Funktionen, die von der Klasse gekapselt werden müssen und nichts mit bestimmten Objekten zu tun haben. Statische Methoden können vollständig auf die Attribute von zugreifen die Klasse und kann auch von der Instanz des Objekts aufgerufen werden, unabhängig davon, ob das Zugriffsqualifikationsmerkmal ist. Im vorherigen Beispiel ist getCount eine gewöhnliche Methode, die mit -> aufgerufen wird Variable, obwohl die Methode nicht verwendet wird. GetCount gehört jedoch zu keinem Objekt. In einigen Fällen möchten wir sie sogar aufrufen, wenn kein gültiges Objekt vorhanden ist. Dann sollte PHP diese Variable nicht verwenden innerhalb der statischen Methode, auch wenn Sie sie von einem Objekt aus aufrufen.
Beispiel 6.7 stammt aus der Änderung von getCount in eine statische Methode. Das
Static-Schlüsselwort
kann nicht verhindern, dass eine Instanz getCount aufruft Wenn Sie den Operator -> verwenden, wird diese Variable nicht innerhalb der Methode erstellt. //6.3 zu Abschnitt 4 – Konstruktor
und
Das Beispiel im Destruktor (siehe den vorherigen Artikel). Durch den Vergleich der beiden Beispiele können Sie den Unterschied zwischen dem //statische Methode und die gewöhnliche Methode Sie können eine Methode schreiben, um anzuzeigen, ob sie statisch oder nicht statisch aufgerufen wird, indem Sie beurteilen, ob diese erstellt wird. Unabhängig davon, wie sie aufgerufen wird, ist diese Methode immer statisch.
Ihre Klasse kann auch konstante Attribute definieren. Sie müssen keine öffentlichen statischen Attribute verwenden, sondern nur das Schlüsselwort
const
. Konstante Attribute sind immer statisch, keine Instanziierungen des Objekts
Listing 6.7 Statische Mitglieder
Das obige ist der detaillierte Inhalt vonEingehende Analyse statischer Mitglieder von PHP-Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!