Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-objektorientierte Hinweise – 123 Veranschaulichung statischer Eigenschaften und statischer Methoden

PHP-objektorientierte Hinweise – 123 Veranschaulichung statischer Eigenschaften und statischer Methoden

不言
不言Original
2018-04-08 15:47:081773Durchsuche

Der in diesem Artikel vorgestellte Inhalt ist der objektorientierte PHP-Inhalt, 123 Diagramme statischer Eigenschaften und statischer Methoden, jetzt für alle freigegeben, Freunde in Not können darauf verweisen

/*
Fügen Sie in Attributen
statische Änderungen vor der Methode hinzu. Dies wird als statisches Attribut/statische Methode bezeichnet.

Statisches Attribut

Statisches Attribut wird im Klassenraum gespeichert
1. Die Klassendeklaration ist abgeschlossen, das Attribut ist bereits vorhanden und muss nicht vom Objekt abhängen, auf das zugegriffen werden soll.
2 Es gibt nur eine Klasse im Speicher, daher gibt es nur ein statisches Attribut 🎜>

class Human {
    static public $head = 1;    public function changeHead() {
        Human::$head = 9;
    }    public function getHead() {
        return Human::$head;
    }
}echo Human::$head; //1// 静态属性的访问方法echo &#39;<br >&#39;;// 静态属性只有一个,为所有的对象的共享.$m1 = new Human();$m1->changeHead();$m2 = new Human();$m3 = new Human();echo $m2->getHead(),&#39;<br >&#39;; //9echo $m3->getHead(),&#39;<br >&#39;; //9

PHP-objektorientierte Hinweise – 123 Veranschaulichung statischer Eigenschaften und statischer Methoden/*

Statische Methode


Gewöhnliche Methode, in der Klasse gespeichert, nur 1 Kopie

Statische Methode, auch in gespeichert die Klasse, nur 1 Kopie


Der Unterschied ist:

Gewöhnliche Methoden erfordern Objekte zur Mobilisierung und müssen $this binden

Das heißt, gewöhnliche Methoden müssen Objekte haben und Objekte zur Mobilisierung verwenden

Und statische Methoden bestimmen nicht, zu welchem ​​Objekt die Klasse gehört, daher besteht keine Notwendigkeit, $this zu binden.

Das heißt, statische Methoden können über den Klassennamen mobilisiert werden 🎜>



PHP-objektorientierte Hinweise – 123 Veranschaulichung statischer Eigenschaften und statischer Methoden

class Human2 {
    public $name = &#39;张三&#39;;    static public function cry() {
        echo &#39;5555&#39;;
    }    public function eat() {
        echo &#39;吃饭&#39;;
    }    public function intro() {
        echo $this->name;
    }
}// 此时一个对象都没有Human2::cry();// 下面这个eat是非静态方法,应由对象来调用Human2::eat();/*
报错提示:
Strict standards: Non-static method Human2::eat() should not be called statically
*/echo &#39;<br >&#39;;//Human2::intro();/*
直接报错:
Fatal error: Using $this when not in object context
*/
/*

Zusammenfassung: PHP-objektorientierte Hinweise – 123 Veranschaulichung statischer Eigenschaften und statischer MethodenWie oben analysiert, können nichtstatische Methoden tatsächlich nicht statisch sein Wird nach Klassennamen aufgerufen.

*/



/*
Class->Access->Statische Methode kann

Class->Dynamische Methode Wenn dies nicht vorhanden ist Die Methode wird ernsthaft nicht unterstützt.
$lisi = new Human2();$lisi->cry(); //5555

Auf dynamische Methoden zugreifen
Statische Methoden können
*/

Verwandte Empfehlungen:



PHP-objektorientierte Vererbung, mehrfache Einführung in Zustand und Kapselung

Überblick über die objektorientierten PHP-Designprinzipien

Das obige ist der detaillierte Inhalt vonPHP-objektorientierte Hinweise – 123 Veranschaulichung statischer Eigenschaften und statischer Methoden. 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