Der unten stehende Herausgeber wird einen Artikel mit Ihnen teilen, der die Verwendung von öffentlichen, privaten, geschützten, abstrakten und anderen Schlüsselwörtern in PHP ausführlich bespricht. Er hat einen guten Referenzwert und ich hoffe, dass er für alle hilfreich sein wird. Folgen wir dem Editor und werfen wir einen Blick darauf.
Häufig verwendete Schlüsselwörter in PHP
PHP enthält viele Einschränkungen für Funktionen und Klassen Dazu gehören normalerweise Abstract, Final, Interface, Public, Protected, Private, Static usw. Im Folgenden analysieren und sortieren wir ihre Verwendung.
Schlüsselwörter öffentlich, privat, geschützt für Variablen und Methoden
öffentlich hat die größte Autorität und kann von Unterklassen verwendet oder unterstützt werden, wenn es später aufgerufen wird Instanziierung,
geschützt bedeutet geschützt, und auf Zugriffsberechtigungen kann nur in Unterklassen zugegriffen werden, und diese Klasse
privat bedeutet privat, nur in der aktuellen Klasse zugänglich
<?php // /** * Define MyClass */ class MyClass { public $public = 'Public'; protected $protected = 'Protected'; private $private = 'Private'; public function printHello() { echo $this->public; echo $this->protected; echo $this->private; } protected function pro_test(){ var_dump(1); } } $obj = new MyClass(); echo $obj->public; // 这行能被正常执行 //echo $obj->protected; // 这行会产生一个致命错误 //echo $obj->private; // 这行也会产生一个致命错误 $obj->printHello(); // 输出 Public、Protected 和 Private $obj->pro_test();//直接报错 ?>
Schlüsselwort static < für Variablen und Methoden 🎜>
Die Funktion von static besteht darin, Werte oder Methoden zu ermöglichen In einer Klasse ohne Instanziierung aufgerufen. Gleichzeitig haben statisch modifizierte Variablen die Funktion, Werte zu speichern. Wenn wir beispielsweise keine statischen Variablen verwenden, ist das Ergebnis wie folgt:
<?php function test(){ $var=1; echo $var."</br>"; $var++; } test();// 1 test();// 1 test();// 1 ?>
<?php function test(){ static $var=1; echo $var."</br>"; $var++; } test();// 1 test();// 2 test();// 3 ?>
var glo=0; function test(){ glo++; document.writeln(glo); } test(); test(); test();
<script> var glo=0; function test(){ glo++; document.writeln(glo); } test();// 1 test();// 2 test();// 3 </script>
$age=0; $age++; function test1() { static $age = 100; $age++; echo $age."</br>"; } function test2() { static $age = 1000; $age++; echo $age."</br>"; } test1(); // 101 test2(); // 1001
Der Schlüssel zu Klassen und Methoden Das Wort final
final kann nur zum Ändern von Klasse und Funktion verwendet werden. Nach der Verwendung von final kann der folgende Code beispielsweise nicht direkt einen Fehler meldenclass BaseClass { public $public = 'Public'; function test() { echo "BaseClass::test() called\n"; } final public function moreTesting() { echo "BaseClass::moreTesting() called\n"; } } class ChildClass extends BaseClass { public function moreTesting() { echo "ChildClass::moreTesting() called\n"; } }
Spezielle Schlüsselwörter Schnittstelle, abstrakt
Die Bedeutung von Schnittstelle besteht darin, den Programmierstil zu standardisieren ist implementiert. Wenn wir eine Schnittstelle haben, müssen wir bei Verwendung dieser Schnittstellenklasse die darin enthaltenen Methoden implementieren, was bei der einheitlichen Benennung eine Rolle spielt. Eine einzelne Vererbung zwischen Schnittstellen wird durch Erweiterungen erreicht. Die Beziehung zwischen Klasse und Schnittstelle wird durch Implementierungen hergestellt.Beispielcode:rrree
Die Funktion von Abstract ist eigentlich dieselbe wie die von Interface, aber alle Methoden in der Schnittstelle müssen implementiert werden, aber in durch Abstract modifizierten Klassen kann es eine oder mehrere abstrakte Modifikationsmethoden geben, also wir kann verstehen, dass die Schnittstelle ein Sonderfall der Abstraktion ist (wenn alle Methoden abstrakte Methoden sind, müssen sie implementiert werden). Abstract weist die folgenden Merkmale auf: 1. Solange mindestens eine Methode in der Klasse das Schlüsselwort abstract verwendet, ist die Klasse abstrakt und das entsprechende Schlüsselwort muss hinzugefügt werden 2. Abstrakte Methoden haben nur den Deklarationsteil der Methode und keinen Methodenkörper. Aber meiner Meinung nach gibt es in der praktischen Anwendung von Zusammenfassungen mehrere Szenarien wie dieses. 1 Standardisieren Sie die Benennungsregeln für öffentliche Teile bei der Mehrpersonenprogrammierung (ohne Erklärung, das Prinzip ist dasselbe als Schnittstelle) 2. Um zu verhindern, dass das übergeordnete Element direkt instanziiert wird, verwenden Sie den Stilcode wie folgt:<?php interface testA{ function funcA(); } interface testB{ function funcB(); } interface testC extends testA { function funcC(); } class run implements testC ,testB { public function funcA() { // TODO: Implement funcA() method. } public function funcB() { // TODO: Implement funcB() method. } public function funcC() { // TODO: Implement funcC() method. } } ?>
Erklärung, wie PHP eine neue Array-Instanz mit demselben Wert in einem Array bilden kann
Detaillierte Erklärung zur Lösung des Problems inkonsistenter PHP-Stringlängen
Die Befehlszeile führt die Konfigurationsmethoden $argv und $argc im aus php script_php example
Das obige ist der detaillierte Inhalt vonBesprechen Sie ausführlich die Verwendung von öffentlichen, privaten, geschützten, abstrakten und anderen Schlüsselwörtern in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!