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()".
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 = 'PHP中文网<br>'; public $title = 'PHP教程'; public static function url() { echo self::$name; echo 'https://www.php.cn/<br>'; echo $this -> title; } } Website::url(); ?>
运行结果如下:
注意:在静态方法中,只能调用静态变量,不能调用普通变量;而普通方法则可以调用静态变量。
使用静态成员,除了可以不需要实例化对象外,另一个作用就是在对象被销毁后,仍然保存被修改的静态数据,以便下次继续使用,这一点和我们前面介绍的静态变量相似。
【示例】声明一个静态变量 $num,然后声明一个方法,在方法的内部调用静态变量并给变量的值加 1;然后,实例化类中的对象,最后,调用类中的方法。
<?php header("Content-type:text/html;charset=utf-8"); class Website { static public $num = 0; public function add() { echo '$num 的值为:' . self::$num; self::$num++; } } $num1 = new Website(); $num1 -> add(); echo '<br>'; $num2 = new Website(); $num2 -> add(); ?>
运行结果如下:
静态成员不用实例化对象,当类第一次被加载时就已经分配了内存空间,所以直接调用静态成员的速度要更快一些。但如果静态成员声明得过多,空间一直被占用,反而影响系统的运行速度。
说明:
子类可以重写父类的静态方法.
方法内访问静态变量需要用::符号. 不能用$this;
静态方法和静态变量都会被子类继承.
静态变量不能由->
访问, 而是由 ::
self::
vor dem Namen der statischen Eigenschaft hinzu. rrreee
Die laufenden Ergebnisse lauten wie folgt:->
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!