Heim >Backend-Entwicklung >PHP-Tutorial >Was bedeutet Kapselung von PHP-Klassen? Analyse der PHP-Klassenkapselung

Was bedeutet Kapselung von PHP-Klassen? Analyse der PHP-Klassenkapselung

不言
不言Original
2018-07-26 16:51:082688Durchsuche

In PHP ist die Kapselung von PHP-Klassen ein wichtiger Inhalt und ein relativ schwer zu verstehender Teil. Bevor wir die Kapselung von PHP-Klassen lernen, müssen wir im nächsten Abschnitt die Modifikatoren verstehen Lassen Sie uns diesen Teil des Inhalts im Detail analysieren.

Öffentlich: Auf die Methode oder Eigenschaft kann in jedem Bereich zugegriffen werden. Dies ist die Standardeinstellung. Wenn für eine Eigenschaft oder Methode kein Zugriffsmodifikator angegeben ist, ist sie öffentlich.

geschützt: Auf die Methode oder Eigenschaft kann nur von einem Mitglied der Klasse oder geerbten Klasse aus zugegriffen werden.

privat: Auf die Methode oder Eigenschaft kann nur von einem Mitglied der Klasse zugegriffen werden, nicht aber von Mitgliedern der geerbten Klasse. Als privat gekennzeichnete Methoden oder Eigenschaften können in geerbten Klassen neu definiert werden. Jede Klasse kann nur die von ihr definierten privaten Methoden sehen.

Diese drei Modifikatoren sollten in Bezug auf den Geltungsbereich wie folgt sortiert werden:

öffentlich→geschützt→privat Der Grund, warum sie im Geltungsbereich liegen, liegt darin, dass es sich um eine Klasse handelt Wie die Funktionen sind auch einige Attribute und Methoden in PHP-Klassen gekapselt. Diese Kapselung bestimmt die „Sichtbarkeit“ der Daten, sodass wir die definierten Eigenschaften und Methoden nicht nach Belieben außerhalb der Klasse ändern, sondern nur aufrufen können. Dies ist der Vorteil der Kapselung und erhöht auch die Sicherheit. Um die Rolle dieser Modifikatoren zu veranschaulichen, schauen Sie sich bitte den folgenden Code an:

< ?php   
class myClass{   
public $public="Public";   
protected $protected="Protected";   
private $private="Private";   
function say_Hello(){   
//我现在什么也不做,等下再告诉你   
}   
}   
$obj=new myClass();   
echo $obj->public;   
//echo $obj->protected;   
//echo $obj->private;   
?>   
< ?php  
class myClass{  
public $public="Public";  
protected $protected="Protected";  
private $private="Private";  
function say_Hello(){  
//我现在什么也不做,等下再告诉你  
}  
}  
$obj=new myClass();  
echo $obj->public;  
//echo $obj->protected;  
//echo $obj->private;  
?>

Wenn wir das obige Beispiel ausführen, erhalten wir ein „Public“, aber wenn Sie //echo eingeben Wenn der Kommentar von $obj->private; entfernt wird, erhalten Sie die folgende Fehlermeldung: Schwerwiegender Fehler: Auf protected kann nicht zugegriffen werden Eigenschaft myClass::$protected in E:apachehtdocsexamplefile.php ein Zeile 13.

Sie können sehen, dass wir nicht nach Belieben auf die Attributdefinitionen der Klasse zugreifen können, das heißt, wir können einige Operationen, die in der Kapselung der PHP-Klasse definiert wurden, nicht ändern. Dies ist Sichtbarkeit. Wir wissen „außerhalb“ nicht, welche Mitglieder sich in dieser Klasse befinden, da diese Mitglieder für andere Klassen möglicherweise nicht sichtbar sind.

Wenn wir auf als „privat“ definierte Eigenschaften zugreifen oder diese ändern müssen, können wir natürlich auch die von PHP bereitgestellten Systemmethoden verwenden: _get() und _set(). Ich werde später mehr darüber erfahren, da ich jetzt nur ein Verständnis davon habe.

Empfohlene verwandte Artikel:

Beispiel zur Verwendung der von PHP gekapselten HttpClient-Klasse, Kapselung von httpclient

Detaillierte Erläuterung der Kapselung und Vererbung der PHP-Klasse, PHP Detaillierte Erklärung der Kapselung

Verwandte Videoempfehlungen:

Verwendung von objektorientiertem PHP-Denken zur Kapselung jeder Klasse

Das obige ist der detaillierte Inhalt vonWas bedeutet Kapselung von PHP-Klassen? Analyse der PHP-Klassenkapselung. 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