Heim > Backend-Entwicklung > PHP-Problem > Self stellt in PHP die aktuelle Klasse dar. Wie erhält man also die Daten der Zugriffsklasse?

Self stellt in PHP die aktuelle Klasse dar. Wie erhält man also die Daten der Zugriffsklasse?

autoload
Freigeben: 2023-03-08 17:28:02
Original
1516 Leute haben es durchsucht

self ist eine statische Bindung. Mit anderen Worten, self wurde explizit an den Klassennamen gebunden, egal wie viele geerbt wurden , unabhängig davon, ob es sich um eine Unterklasse oder eine übergeordnete Klasse handelt, die auf sich selbst zugreift, stellt self die aktuelle Klassedar >. Wenn Sie Besucher selektiv unterstützen möchten, müssen Sie statische verzögerte Bindung verwenden.self是一种静态绑定,换言之就是当类进行编译的时候self已经明确绑定了类名,因此不论多少继承,也不管是子类还是父类自己来进行访问,self代表都是当前类。如果想要选择性的来支持来访者,就需要使用静态延迟绑定.

    定义:静态延迟绑定,即在类内部用来代表类本身的关键字部分不是在类编译时固定好,而是当方法被访问时动态的选择来访者所属的类。静态延迟绑定就是利用static关键字代替静态绑定self,静态延迟绑定需要使用到静态成员的重写。

    1.静态延迟绑定:使用static关键字代替self进行类成员

Definition: statische verzögerte Bindung, das zur Darstellung der Klasse innerhalb der Klasse verwendet wird Das Schlüsselwort Der Teil selbst ist beim Kompilieren der Klasse nicht festgelegt, aber die Klasse, zu der der Besucher gehört, wird beim Zugriff auf die Methode dynamisch ausgewählt. Statische verzögerte Bindung verwendet das Schlüsselwort static, um die statische Bindung zu ersetzen. self erfordert das Umschreiben statischer Mitglieder.

1. Statische verzögerte Bindung

: Verwenden Sie das Schlüsselwort static anstelle von self, um auf Klassenmitglieder zuzugreifen

<?php
//父类
class People{
    public static $name = &#39;People&#39;;
    public static function showName(){
        //静态绑定
        echo self::$name,&#39;<br/>&#39;;//self
        //静态延迟绑定
        echo static::$name,&#39;<br/>&#39;;
    }
}
//子类
class Man extends People{
    //重写父类静态属性
    public static $name = &#39;Man&#39;;    //静态属性因为存储在类内部,因此不会覆盖
}

//子类访问

echo Man::$name."<br>";//Man
Man::showName();//输出People和Man
?>
Nach dem Login kopieren
2. Statische Verzögerung Der Zugriff auf die Bindung muss über geerbte Unterklassen erfolgen, um effektiv zu sein

//接上述代码
People::showName();//输出People People
Nach dem Login kopieren
🎜Empfohlen: 🎜php-Video-Tutorial🎜🎜

Das obige ist der detaillierte Inhalt vonSelf stellt in PHP die aktuelle Klasse dar. Wie erhält man also die Daten der Zugriffsklasse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage