Was verbergen Daten?
Manche Menschen finden das vielleicht schwer zu verstehen. Im vorherigen Artikel haben wir bei der Einführung von Klassen gesagt, dass das zum Definieren von Variablen verwendete Schlüsselwort öffentlich ist, aber es gibt noch mehr als nur dieses, es gibt auch öffentliche, private, geschützte, statische und endgültige Schlüsselwörter, die zur Begrenzung der Klasse verwendet werden Mitglieder, einschließlich Zugriffsberechtigungen für Variablen und Methoden. Als nächstes erklären wir zunächst die Verwendung der ersten drei Schlüsselwörter.
Freundliche Erinnerung:
Die Verwendung von Schlüsselwörtern zur Begrenzung von Mitgliedsvariablen und Mitgliedsmethoden ist dieselbe. Daher verwenden wir hier nur Mitgliedsvariablen als Beispiel, um die unterschiedlichen Verwendungen dieser Schlüsselwörter zu veranschaulichen. Dasselbe gilt auch für Member-Methoden.
Lassen Sie uns nun diese Schlüsselwörter im Detail vorstellen:
(1) öffentlich
Die chinesische Übersetzung ist öffentlich. Wie der Name schon sagt, ist es öffentlich und erfordert keine versteckten Dateninformationen. Es kann von anderen Klassen und Objekten überall im Programm aufgerufen werden (innerhalb der Klasse, außerhalb der Klasse). Unterklassen können alle öffentlichen Mitglieder der übergeordneten Klasse erben und verwenden.
Bevor wir dieses Kapitel erklärten, haben wir öffentliche Deklarationen verwendet, um Variablen und Methoden zu definieren, und alle Methoden sind standardmäßig auch öffentlich, sodass das Aufrufen von Variablen und Methoden sehr verwirrend ist. Um diese Situation zu lösen, werden wir über das zweite Schlüsselwort privat sprechen.
Da public bereits früher verwendet wurde, geben wir hier kein Beispiel.
(2) privat
Chinesische Übersetzung ist privat, privat. Von privat geänderte Variablen und Methoden können nur innerhalb der Klasse aufgerufen und geändert werden, in der sie sich befinden, und es kann nicht außerhalb der Klasse darauf zugegriffen werden. Beides ist in Unterklassen nicht möglich.
private Beispielanzeige:
<?php header("content-type:text/html;charset=utf-8"); class Preson{ private $name = "雷克赛"; public function setName($name){ $this -> name = $name; } public function getName(){ return $this ->name; } } class Preson1 extends Preson{ } $preson = new Preson(); //正确的使用方式 echo '我的名字叫'; $preson ->setName("布里茨"); //通过访问成员方法进行赋值 echo $preson -> getName(); //在通过访问成员方法进行访问 //错误的使用方式 echo '我的名字叫'; echo Preson :: $name;
Im obigen Beispiel können Änderungen und Zugriff auf die private Variable $name nur durch Aufrufen von Mitgliedsmethoden erreicht werden. Beim direkten Aufruf tritt ein Fehler auf.
(3) geschützt
Chinesische Übersetzung bedeutet geschützt. Das Schlüsselwort private kann die Daten vollständig verbergen. Es kann nur in dieser Klasse oder in Unterklassen aufgerufen werden. In einigen Fällen müssen einige Variablen jedoch in Unterklassen aufrufbar sein, während sie für andere Klassen dennoch gekapselt werden müssen. Dieses Mal verwenden wir unser geschütztes Schlüsselwort.
Mit protected geänderte Klassenmitglieder können in dieser Klasse und Unterklassen aufgerufen werden, jedoch nicht an anderer Stelle.
Geschützte Beispielanzeige:
<?php header("content-type:text/html;charset=utf-8"); class Preson{ protected $name = '维克托'; } class Preson1 extends Preson{ public function showName(){ echo '只有真确的调用,我才会出现'; echo '<br/>'; echo '我的名字是:' . $this ->name; echo '<br/>'; } } $preson = new Preson1(); $preson -> showName(); echo '你调用错了,所以下面不报错算我输:'; $preson -> name = '德莱文';
Deklarieren Sie im obigen Beispiel zunächst eine Variable mit dem Schlüsselwort protected, rufen Sie sie dann einmal in der Methode der Unterklasse auf und rufen Sie sie schließlich direkt außerhalb auf Die Klasse, das Ergebnis ist auf einen Blick klar.
Tipp:
Obwohl es in PHP keine verbindlichen Vorschriften und Anforderungen für Schlüsselwörter gibt, die Variablen ändern, sind die Eigenschaften und das Design von Objekten im Allgemeinen privat und geschützt Schlüsselwörter werden zum Ändern von Variablen verwendet, um zu verhindern, dass Variablen direkt geändert und außerhalb der Klasse aufgerufen werden.
Das obige ist der detaillierte Inhalt vonObjektorientiertes Verbergen von PHP-Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!