Heim >Backend-Entwicklung >PHP-Problem >Was sind statische Eigenschaften und statische Methoden in PHP?

Was sind statische Eigenschaften und statische Methoden in PHP?

青灯夜游
青灯夜游Original
2022-01-07 18:38:483242Durchsuche

In PHP werden durch das Schlüsselwort static geänderte Mitgliedseigenschaften und Mitgliedsmethoden als statische Eigenschaften und statische Methoden bezeichnet. Die Syntax für den Zugriff auf statische Eigenschaften und statische Methoden lautet „Klassenname::$statische Eigenschaft“ und „Klassenname::statisch“. Verfahren()".

Was sind statische Eigenschaften und statische Methoden in PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

In PHP werden die durch das Schlüsselwort static geänderten Mitgliedseigenschaften und Mitgliedsmethoden als statische Eigenschaften und statische Methoden bezeichnet. Hier sind Sie Kann zusammenfassend als statische Mitglieder einer Klasse bezeichnet werden. Statische Mitglieder werden nicht in Objekte instanziiert, was bedeutet, dass wir keine Klasse instanziieren müssen, um über die Klasse auf statische Mitglieder zuzugreifen. .

Es ist einfach, statische Variablen in einer Klasse zu deklarieren. Wir können vor einem gewöhnlichen Mitglied der Klasse ein statisches Schlüsselwort hinzufügen, um dieses gewöhnliche Mitglied in ein statisches Mitglied umzuwandeln. Auf diese Weise können wir direkt auf diese statischen Mitglieder in der Klasse zugreifen, ohne die Klasse zu instanziieren. Das Syntaxformat für den Zugriff auf statische Elemente lautet wie folgt:

类名::$静态属性
类名::静态方法()

Das Symbol :: wird als Bereichsauflösungsoperator bezeichnet, der für den Zugriff auf statische Elemente, statische Methoden und Konstanten verwendet wird und auch verwendet werden kann um Mitglieder in einer Klasse und Methoden zu überschreiben. ::符号被称为范围解析操作符,用于访问静态成员、静态方法和常量,还可以用于覆盖类中的成员和方法。

如果要在类内部的成员方法中访问静态属性,只要在静态属性的名称前加上操作符self::即可。

下面通过一个简单的示例演示一下静态成员的定义:

<?php
header("Content-type:text/html;charset=utf-8");
class Website {
	static public $name = &#39;PHP中文网<br>&#39;;
	public $title = &#39;PHP教程&#39;;
	public static function url() {
		echo self::$name;
		echo &#39;https://www.php.cn/<br>&#39;;
		echo $this -> title;
	}

}

Website::url();
?>

运行结果如下:

Was sind statische Eigenschaften und statische Methoden in PHP?

注意:在静态方法中,只能调用静态变量,不能调用普通变量;而普通方法则可以调用静态变量。

使用静态成员,除了可以不需要实例化对象外,另一个作用就是在对象被销毁后,仍然保存被修改的静态数据,以便下次继续使用,这一点和我们前面介绍的静态变量相似。

【示例】声明一个静态变量 $num,然后声明一个方法,在方法的内部调用静态变量并给变量的值加 1;然后,实例化类中的对象,最后,调用类中的方法。

<?php
header("Content-type:text/html;charset=utf-8");
class Website {
	static public $num = 0;
	public function add() {
		echo &#39;$num 的值为:&#39; . self::$num;
		self::$num++;
	}

}

$num1 = new Website();
$num1 -> add();
echo &#39;<br>&#39;;
$num2 = new Website();
$num2 -> add();
?>

运行结果如下:

Was sind statische Eigenschaften und statische Methoden in PHP?

静态成员不用实例化对象,当类第一次被加载时就已经分配了内存空间,所以直接调用静态成员的速度要更快一些。但如果静态成员声明得过多,空间一直被占用,反而影响系统的运行速度。

说明:

  • 子类可以重写父类的静态方法.

  • 方法内访问静态变量需要用::符号. 不能用$this;

  • 静态方法和静态变量都会被子类继承.

  • 静态变量不能由->访问, 而是由 ::

    Wenn Sie in einer Mitgliedsmethode innerhalb einer Klasse auf statische Eigenschaften zugreifen möchten, fügen Sie einfach den Operator self:: vor dem Namen der statischen Eigenschaft hinzu.
  • Im Folgenden wird die Definition statischer Elemente anhand eines einfachen Beispiels veranschaulicht:

    rrreee

    Die laufenden Ergebnisse lauten wie folgt:
Was sind statische Eigenschaften und statische Methoden in PHP?

Hinweis: In statischen Methoden können nur statische Variablen aufgerufen werden, normale Variablen können nicht aufgerufen werden; gewöhnliche Methoden können statische Variablen aufrufen .

Durch die Verwendung statischer Elemente entfällt nicht nur die Notwendigkeit, das Objekt zu instanziieren, sondern auch die geänderten statischen Daten nach der Zerstörung des Objekts zu speichern, damit sie beim nächsten Mal verwendet werden können. Dies ähnelt den von uns eingeführten statischen Variablen früher. 🎜🎜【Beispiel】Deklarieren Sie eine statische Variable $num, deklarieren Sie dann eine Methode, rufen Sie die statische Variable innerhalb der Methode auf und addieren Sie 1 zum Wert der Variablen. Instanziieren Sie dann das Objekt in der Klasse und rufen Sie schließlich die Methode in auf Klasse. 🎜rrreee🎜Die laufenden Ergebnisse sind wie folgt: 🎜🎜2. png🎜🎜Statische Mitglieder müssen keine Objekte instanziieren, wenn die Klasse zum ersten Mal geladen wird, sodass der direkte Aufruf statischer Mitglieder schneller ist. Wenn jedoch zu viele statische Mitglieder deklariert werden, wird der Speicherplatz ständig belegt, was sich auf die Laufgeschwindigkeit des Systems auswirkt. 🎜🎜Beschreibung: 🎜
    🎜🎜Unterklassen können wiederholt werden Schreiben Sie eine statische Methode der übergeordneten Klasse. 🎜🎜🎜🎜Sie müssen das Symbol :: verwenden, um auf statische Variablen innerhalb der Methode zuzugreifen. 🎜🎜🎜🎜Statische Methoden und statische Variablen werden von Unterklassen geerbt. 🎜🎜🎜🎜Auf statische Variablen kann nicht mit -> zugegriffen werden, sondern mit :: (Doppelpunkt). 🎜🎜🎜🎜Das Objekt kann direkt aufgerufen werden statische Mitgliedsmethode über den Objektnamen->, dies und das Aufrufen gewöhnlicher Methoden ist dasselbe.🎜🎜🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonWas sind statische Eigenschaften und statische Methoden in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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