Heim  >  Artikel  >  Backend-Entwicklung  >  Objektorientiertes Verbergen von PHP-Daten

Objektorientiertes Verbergen von PHP-Daten

巴扎黑
巴扎黑Original
2017-04-18 13:29:252658Durchsuche

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 &#39;我的名字叫&#39;;
$preson ->setName("布里茨");    //通过访问成员方法进行赋值
echo $preson -> getName();      //在通过访问成员方法进行访问
//错误的使用方式
echo &#39;我的名字叫&#39;;
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 = &#39;维克托&#39;;
}
class Preson1 extends Preson{
   public function showName(){
       echo &#39;只有真确的调用,我才会出现&#39;;
       echo &#39;<br/>&#39;;
       echo &#39;我的名字是:&#39; . $this ->name;
       echo &#39;<br/>&#39;;
   }
}
$preson = new Preson1();
$preson -> showName();
echo &#39;你调用错了,所以下面不报错算我输:&#39;;
$preson -> name = &#39;德莱文&#39;;

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!

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