Heim >Backend-Entwicklung >PHP-Problem >Was sind die Zugriffskontrollzeichen von PHP?

Was sind die Zugriffskontrollzeichen von PHP?

青灯夜游
青灯夜游Original
2021-07-15 16:11:102427Durchsuche

Die Zugriffskontrollsymbole von PHP sind: 1. öffentlich, legen Sie fest, dass die Eigenschaft oder Methode von überall aus zugänglich ist; 2. privat, legen Sie fest, dass die Eigenschaft oder Methode nur für eine eigene Klasse oder ein eigenes Objekt zugänglich ist; oder Methode, auf die ihre Klasse oder ihre Nachkommen zugreifen können.

Was sind die Zugriffskontrollzeichen von PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP Version 7.1, DELL G3-Computer

Zugriffskontrollmodifikatorliste

Auf öffentliche Eigenschaften und Methoden kann von überall aus zugegriffen werden. Standardmäßig sind alle Klassenmethoden öffentlich. Der obige Code generiert die folgenden Ergebnisse.
Zugriffsmodifikator Bedeutung.
Öffentlich Legen Sie eine Eigenschaft oder Methode so fest, dass von überall aus darauf zugegriffen werden kann eigene Klasse oder Objekt Zugriff auf Klasse oder deren Nachkommen
öffentlich
<?PHP
class Book {
        public $Name;
        public function say() {
                print "PHP!\n";
        }
}
class PythonBook extends Book {
        public function say() {
                print "Python!\n";
        }
}
$aBook = new PythonBook;
$aBook->Name = "Python";
print $aBook->Name;
?>

privat

Auf private Eigenschaften kann nur innerhalb der eigenen Klasse zugegriffen werden.

<?PHP
class Book {
        private $Name;
        private $NameTag;
        public function setName($NewName) {
                // etc
        }
}
?>

Unterklassen können nicht auf private übergeordnete Methoden und Eigenschaften zugreifen. Wenn Sie dies tun möchten, benötigen Sie das geschützte Schlüsselwort.

ProtectedWas sind die Zugriffskontrollzeichen von PHP?

Geschützte Eigenschaften und Methoden sind innerhalb ihrer eigenen Klasse und Unterklassen zugänglich. Betrachten Sie den folgenden Code:

<?PHP
class Book {
        public $Name;
        protected function getName() {
                return $this->Name;
        }
}
class Poodle extends Book {
        public function say() {
                print ""Book", says " . $this->getName();
        }
}
$aBook = new Poodle;
$aBook->Name = "PHP";
$aBook->say();
?>
Der obige Code generiert die folgenden Ergebnisse.

Beispiel

Der folgende Code zeigt, wie man Informationen mithilfe privater Mitglieder ausblendet.

<?php
  class Widget
  {
    private $name;
    private $price;
    private $id;
    public function __construct($name, $price)
    {
      $this->name = $name;
      $this->price = floatval($price);
      $this->id = uniqid();
    }
    //checks if two widgets are the same
    public function equals($widget)
    {
      return(($this->name == $widget->name) AND
       ($this->price == $widget->price));
    }
  }
  $w1 = new Widget("Cog", 5.00);
  $w2 = new Widget("Cog", 5.00);
  $w3 = new Widget("Gear", 7.00);
  //TRUE
  if($w1->equals($w2))
  {
    print("w1 and w2 are the same<br>\n");
  }
  //FALSE
  if($w1->equals($w3))
  {
    print("w1 and w3 are the same<br>\n");
  }
  //FALSE, == includes id in comparison
  if($w1 == $w2)
  {
    print("w1 and w2 are the same<br>\n");
  }
?>

Der obige Code führt zu den folgenden Ergebnissen.

Empfohlenes Lernen: „Was sind die Zugriffskontrollzeichen von PHP?PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Zugriffskontrollzeichen von PHP?. 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