Unterschied: Statische Methoden können direkt über „Klassenname::Methodenname“ aufgerufen werden, während normale Methoden eine Instanz, also ein neues Objekt, erstellen und es dann über „Objektname->Methodenname“ aufrufen müssen. Statische Methoden können nur auf statische Mitglieder der Klasse zugreifen; gewöhnliche Methoden können auf jedes Mitglied der Klasse zugreifen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP Version 7.1, DELL G3-Computer
Statische Methode
Der statische Speicherplatz ist fest, was relativ ressourcenschonender ist.
Das Erstellen einer Instanz erfordert das Öffnen eines neuen Speichers, der Ressourcen verbraucht, die zur Klasse gehören und vor der Instanziierung der Klasse verwendet werden können.
-
Statische Methoden können nur auf statische Mitglieder in der Klasse zugreifen
- Nur statische Variablen und andere statische Methoden können in statischen Methoden angezeigt werden, da sie zur gesamten Klasse gehören.
- Statische Methoden und statische Variablen verwenden danach immer denselben Speicher Durch die Verwendung von Instanzen werden mehrere Erinnerungen erstellt.
Gewöhnliche Methoden
- können auf jedes Mitglied in der Klasse zugreifen, da statische Methoden verwendet werden können, bevor die Klasse instanziiert wird, während nicht statische Variablen in der Klasse instanziiert werden müssen, bevor Speicher zugewiesen werden kann
- Statische Methoden sind effizienter als die Instanziierung. Der Hauptunterschied besteht darin, dass sie nicht automatisch zerstört werden -statische Methoden müssen über das von new erzeugte Objekt aufgerufen werden.
Statische Methoden können direkt über den Klassennamen::Methodennamen aufgerufen werden. Gewöhnliche Methoden müssen eine Instanz erstellen, dh ein neues Objekt, und es dann über den Objektnamen aufrufen. Statische Klassen können nur statische Mitglieder enthalten, andernfalls wird ein Kompilierungsfehler ausgegeben. Statische Klassen können sowohl nicht statische als auch statische Mitglieder enthalten. Der Grund, warum sie nicht instanziiert werden können, liegt darin, dass statische Klassen den C#-Compiler dazu veranlassen, die Klasse gleichzeitig als abstrakt und versiegelt zu markieren , und der Compiler gibt keinen Konstruktor für eine Instanz an, was dazu führt, dass die statische Klasse nicht instanziiert wird.
- Nicht statische Klassen können nur über die Klasse auf sie zugreifen , weil statische Mitglieder zur Klasse gehören.
- Empfohlenes Lernen: „
PHP-Video-Tutorial
“
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen statischen PHP-Methoden und gewöhnlichen Methoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!