In der pHP-objektorientierten Programmierung bestimmen die Zugriffsberechtigungen einer Funktion, welcher Code die Funktion aufrufen kann. Durch die Festlegung von Zugriffsrechtsmodifikatoren können Entwickler die Sichtbarkeit und den Zugangsumfang von Funktionen flexibel steuern und so die Sicherheit und Kapselung des Codes verbessern.
Die mit der Öffentlichkeit geänderten Funktionen sind für alle Code sichtbar und können überall aufgerufen werden, einschließlich außerhalb der Klasse.
public function publicFunction() {
// Funktionscode
}
Die geschützte modifizierte Funktion kann nur von der Klasse und ihren Unterklassen zugegriffen werden, die die Funktion definieren, und kann nicht direkt außerhalb der Klasse aufgerufen werden.
protected function protectedFunction() {
// Funktionscode
}
Auf Funktionen, die von privaten geändert wurden, können nur von der Klasse zugegriffen werden, die die Funktion selbst definiert und nicht für beide Unterklassen und außerhalb der Klasse zugänglich ist.
private function privateFunction() {
// Funktionscode
}
Das folgende Beispiel zeigt die Zugangssituation von Funktionen mit unterschiedlichen Zugriffsberechtigungen in Eltern- und Kinderklassen:
class ParentClass {
public function publicFunction() {
echo "Public function in parent class";
}
protected function protectedFunction() {
echo "Protected function in parent class";
}
private function privateFunction() {
echo "Private function in parent class";
}
}
class ChildClass extends ParentClass {
public function accessFunctions() {
$this->publicFunction();
$this->protectedFunction();
// Der folgende Anruf verursacht einen Fehler,WeilprivateFunctionEs ist privat
// $this->privateFunction();
}
}
$child = new ChildClass();
$child->publicFunction();
$child->protectedFunction(); // Anrufen hier meldet einen Fehler,protectedFunktionen können nicht direkt außerhalb der Klasse zugegriffen werden
In diesem Beispiel definiert ParentClass Funktionen mit unterschiedlichen Zugriffsberechtigungen. Die Kinderklasse für Kinderklasse kann in der Elternklasse auf öffentliche und geschützte Funktionen zugreifen, jedoch nicht in privaten Funktionen. Es ist zu beachten, dass geschützte Funktionen nicht direkt außerhalb der Klasse aufgerufen werden können.
Der rationale Einsatz von Zugriffsrechtsmodifikatoren ist ein wichtiger Bestandteil des Objektorientierten PHP-Designs. Durch die korrekte Angabe der Zugriffsstufe der Funktion können die internen Implementierungsdetails der Klasse effektiv geschützt werden, und die erforderlichen Schnittstellen werden der Außenwelt zur Verfügung gestellt, wodurch die Einkapselung und Wiederverwendung des Codes erkennen.