Als ich nichts zu tun hatte, suchte ich einfach nach ein paar Informationen über OO in PHP Zugriffskontrollmodifikatoren, self, parent, const, static sind der Schlüssel Wörter. Wörter, Pfeiloperator (im Buch auch so genannt... d. h. „->“), Bereichsanalyseoperator (d. h. Doppelpunkt „::“), aber Ich denke, das ist weitgehend dasselbe wie OO in der C#-Sprache und leicht zu verstehen, aber es ist besser, einen Blick darauf zu werfen und die OO-Ideen in PHP zu klären. -------------------------------------------------------- ---------------------------------------------
Statisch deklarieren Klassenmitglieder und -methoden, sodass keine Instanz der Klasse erforderlich ist. Auf eine statische Memberdeklaration kann nicht über eine Instanz eines Klassenobjekts zugegriffen werden (obwohl dies bei einer statischen Methode der Fall ist).Statische Deklarationen müssen nach Sichtbarkeitsdeklarationen erfolgen. Wenn aus Kompatibilitätsgründen mit PHP 4 keine Sichtbarkeit deklariert ist, werden Mitglieder und Methoden so behandelt, als wären sie öffentlich deklariert worden.
Da statische Methoden Nicht-Objekt-Instanzen aufrufen können, kann die Pseudovariable $this nicht in als statisch deklarierten Methoden verwendet werden.
Tatsächlich wird die Form des statischen Methodenaufrufs zur Kompilierungszeit bestimmt. Bei Verwendung eines Klassennamens, der deklariert werden muss, handelt es sich bei der Methode um eine vollständige Identifizierung und es gelten keine
Vererbungsregeln
. Dieser Ansatz ist vollständig gültig, wenn Klassennamen verwendet werden, die deklariert werden müssen, und es gibt keine Regeln für die Verwendung der Vererbung. Wenn self deklariert wurde, wird self von der Klasse interpretiert, zu der es aktuell gehört. Es gelten auch keine Erbschaftsregeln. Auf statische Eigenschaften kann nicht mit nicht-statischen Methoden über den Pfeiloperator -> zugegriffen werden. Dadurch wird eine Warnung auf E_STRICT-Ebene generiert.
Der Code lautet wie folgt:
<?php class Foo { public static $my_static='foo'; public function staticValue(){ return self::$my_static; } } class Bar extends Foo { public function fooStatic(){ return parent::$my_static; } } print Foo::$my_static."/n"; $foo = new Foo(); print $foo->staticValue()."/n"; print $foo->my_static."/n";// Undefined "Property" my_static // $foo::my_static is not possible print Bar::$my_static."/n"; $bar = new Bar(); print $bar->fooStatic()."/n"; ?>
//静态方法实例(Static method example) <?php class Foo { public static function aStaticMethod() { } } Foo::aStaticMethod(); ?>
sein, keine Variable, sondern ein Mitglied von a Klasse, das Ergebnis eines mathematischen Ausdrucks oder Funktionsaufrufs.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der statischen Schlüsselwörter von phpOO und Beispiele für Klassenkonstanten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!