Jeder PHP-Entwickler muss 6 Schlüsselwörter beherrschen, wenn er objektorientiert WEB-Anwendungen erstellen möchte. Diese sind:
1.Privat
2.Öffentlich
3.Geschützt
4.Statisch
5.Final
6.Abstrakt
Für die ersten drei Schlüsselwörter ist ihre Zugriffsbeziehung innerhalb der Klasse wie folgt:
Protected
Die Zugriffsebene von Protected ist nach Private an zweiter Stelle. Auf Eigenschaften (Variablen) oder Methoden, die als Protected definiert sind, kann nicht nur in dieser Klasse, sondern auch in Unterklassen dieser Klasse zugegriffen werden Es kann auch in der Klasse darauf zugegriffen werden, was mit privaten Attributen nicht möglich ist.
Öffentlich
Öffentlich hat die größten Zugriffsrechte. Auf Eigenschaften (Variablen) oder Methoden, die als Öffentlich definiert sind, kann überall im Programm und zu jeder Zeit zugegriffen werden.
statisch
Wenn wir ein Attribut (eine Variable) in einer Klasse als statisch deklarieren, ist der Wert des Attributs in allen seinen Objekten sichtbar und eine gemeinsam genutzte Variable Daher hängen statische Attributwerte eher von der Klasse als vom Objekt ab. Auf statische Eigenschaften kann nicht über Objekte zugegriffen werden, sondern direkt über den Klassennamen und das Symbol ::.
In ähnlicher Weise weisen auch statische Methoden Objektfreigabeeigenschaften auf, Sie müssen jedoch die folgenden zwei Punkte beachten:
1. Greifen Sie direkt auf statische Methoden zu, indem Sie :: zum Klassennamen hinzufügen
2. Das Schlüsselwort $this kann nicht in statischen Methoden verwendet werden
Final
Wenn ein Attribut (eine Variable) durch Final geändert wird, kann der Attributwert (die Variable) nicht geändert werden. Wenn es sich um eine Funktion handelt, kann die Funktion nicht überschrieben werden umgeschrieben.
Abstract
Eine als Abstract definierte Klasse kann nicht instanziiert werden. Jede Klasse, wenn mindestens eine Methode darin als Abstract deklariert ist, muss diese Klasse als Abstract deklariert werden. Eine als Abstract definierte Methode deklariert nur ihre aufrufende Methode (Parameter) und kann nicht ihre spezifische Funktionsimplementierung definieren.