Heim  >  Artikel  >  Backend-Entwicklung  >  Allgemeine Funktionen für PHP-Arrays

Allgemeine Funktionen für PHP-Arrays

高洛峰
高洛峰Original
2016-11-30 10:18:49925Durchsuche

Der Code lautet wie folgt:
/*
* Kapselung: eines der drei Hauptmerkmale der objektorientierten
*
* 1. Es ist Kapseln Sie die Mitglieder (Eigenschaften, Methode) in einer unabhängigen identischen Einheit und verbergen Sie die internen Details des Objekts so weit wie möglich
* Zugriffsberechtigungsmodifikator öffentlich geschützt privat
* privat: privat, mit diesem Schlüsselwort geänderte Mitglieder können darf nur im Objekt verwendet werden Interner Zugriff (nur Zugriff mit $this)
*
* Attribute können gekapselt werden:
* Solange eine Variable in mehreren Methoden verwendet werden muss, deklarieren Sie diese Variable als Mitgliedsattribut, das direkt in diesem Objekt verwendet werden kann Die
*
* Mitgliedsattribute werden in allen Methoden in diesem Objekt verwendet, was den globalen Variablen in diesem Objekt entspricht. Das Ausführungsverhalten der Methode ist Ändern Sie die Funktion des Objekts
*
* Wenn der Wert des Mitgliedsattributs abnormal ist, ist die von der Methode ausgeführte Funktion nicht normal
*
* Funktion: Das Objekt muss nicht angegeben werden Ändern oder lesen Sie den Wert extern
* 1. Kapseln Sie
* und stellen Sie eine öffentliche Methode bereit (Sie können die Zuweisung und Werterfassung von Objektmitgliedsattributen über die Methode steuern)
*
*
* Methoden können auch gekapselt werden
*
* Funktion:
* 1. Private Modifikation verwenden, sodass sie nur intern verwendet werden kann
*
* 2. Es gibt 100 Methoden in einer Klasse , kapselnd 95 (Methoden, die die anderen 5 bedienen), können nur 5 Methoden verwendet werden
*
* 100 Mitgliedsattribute, die alle Werte annehmen dürfen und nicht geändert werden können; ​kann geändert werden, Der Wert kann nicht abgerufen werden //In diesem Fall ist es bequemer, die folgenden Methoden zu verwenden
* Magische Methoden im Zusammenhang mit der Kapselung:
*
* __set();//Wann Direktes Festlegen des [privaten] Mitgliedsattributwerts, die automatisch aufgerufene Methode
* __get();// ist die Methode, die automatisch aufgerufen wird, wenn der [private] Mitgliedsattributwert direkt abgerufen wird
* __isset();/ /wird direkt verwendet isset() um das Objekt anzuzeigen Diese Methode wird automatisch aufgerufen, wenn private Attribute vorhanden sind
* __unset();//Diese Methode wird automatisch aufgerufen, wenn unset() direkt verwendet wird, um private Attribute in einem Objekt zu löschen
*
*
*
*
*
*
*
*/
class Person{
//x kapselt Mitgliedsattribute und nicht muss außerhalb des Objekts
private $name;
private $sex;
private __unset($proName){
unset($this->$proName) geändert werden );
}
//Es ist ein direktes Ansichtsobjekt. Diese Methode wird automatisch aufgerufen, wenn das private Attribut vorhanden ist
//Verwendung von __isset($proName), $proName stellt den Attributnamen
private dar function __isset($proName){
return isset($this-> ;$proName);//isset() gibt zurück, ob es existiert
}
function __construct($name,$age,$sex) {
$this->name=$name;
$ this->age=$age;
$this->sex=$sex=$sex; Beim Abrufen privater Mitgliedsattribute wird diese Methode automatisch aufgerufen
private function __get( $proName)
{
//Kontrollieren Sie den erhaltenen Wert
if($proName=="age"){
if($this-age>40)
return $this- >age-10;}
return $this->$proName;
//Bei der Einstellung privat Mitgliedseigenschaften, diese Methode wird automatisch aufgerufen
private function __set( $proName,$proValue){
//$proName stellt den Mitgliedsattributnamen dar, $proValue stellt den Mitgliedsattributwert dar
//Kontrollieren Sie die Einstellung Bereich
if($proName=="age"){
if($proValue > 100 || $proValue<0)
return;
}
$this->$ proName=$proValue;
}
//Stellen Sie öffentliche Methoden bereit, um den Wert des Mitgliedsattributs festzulegen
function setAge($age){
//Kontrollieren Sie den Altersbereich und erhöhen Sie die Sicherheit
if($age > 100 || $age < 0 )
return;
$this->age=$age;}
/Stellen Sie öffentliche Methoden bereit, um den Wert von zu erhalten Mitgliedsattribute
function getAge(){
//Steuern Sie den Altersbereich
if($this->age < 30)
return $this->age
else if($this->age<40)
return $this->age -5;
else if($this->age<50)
return $this->age;
else
return $this->age-15;
bereitgestellte öffentliche Methode an}
function say(){
echo „Mein Name: {$this->name}, mein Alter: {$this->age}, mein Nachname: {$ this->sex}
";
//Zugriff auf die gekapselte run()-Methode
$this-run() ;
}
private function run(){
echo '111111111111
'
function eat(){
}
//Destruktormethode
function __destruct(){
}
}
$p1=new Person("zhangsan",25,"male");
$p2=new Person; ;
//$p1->age=-50;//Da auf das Alter nach Belieben von außen zugegriffen werden kann, sind die Mitgliedsattribute aus Sicherheitsgründen gekapselt.
$p1->setAge(30);//Legen Sie den Mitgliedsattributwert über die Methode fest
$p1->getAge();//Erhalten Sie den Mitgliedsattributwert über die Methode
// Durch Hinzufügen der magischen Methode __set($proName,$proValue) __get($proName) können Sie Mitgliedsattribute direkt aufrufen
$p1->say();//Sie können
$p1-> ; run();//Private Methoden können nicht direkt aufgerufen werden
//Löschen Sie den Namen in $p1
unset($p1->name);//Bestimmen Sie, ob der Name existiert
if (isset($p1->name)){
echo „Existiert
“;
}else{
echo „Es gibt kein solches Mitglied
}
?>

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