Maison >développement back-end >tutoriel php >Exemples simples de définition et d'utilisation de classes de programmation orientée objet PHP
Les exemples de cet article décrivent la définition et l'utilisation des classes de programmation orientée objet PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
<?php class Person { private $name; private $sex; private $age; function __construct($name = "", $sex = "男", $age = 22) { $this->name = $name; $this->sex = $sex; $this->age = $age; } // 直接为私有属性赋值时自动调用,可以屏蔽一些非法赋值 // 之前有版本可以设置方法为private function __set() // The magic method __set() must have public visibility // 因为5.35对魔术方法限制的严格了 public function __set($propertyName, $propertyValue) { if ($propertyName == "sex") { if (! ($propertyValue == "男" || $propertyValue == "女")) { return; } if ($propertyValue > 150 || $propertyValue < 0) { return; } } // 根据传入的成员属性名,赋上相应的值 $this->$propertyName = $propertyValue; } // 用来获取私有属性 public function __get($propertyName) { if (isset ( $this->$propertyName )) { return ($this->$propertyName); } else { return (NULL); } } public function __isset($propertyName) { if ($propertyName == "name") { return false; // 返回假,不允许在对象外部测定这个属性 } return isset ( $this->$propertyName ); } public function __unset($propertyName) { if($propertyName=="name") { return; //不允许删除name属性 } unset($this->$propertyName); } function say() { echo $this->name . "在说话<br/>"; } function run() { echo "在走路·<br/>"; } function __destruct() { echo "goodbye" . $this->name . "<br/>"; } } $person1 = new Person (); $person2 = new Person ( "2" ); $person3 = new Person ( "3" ); // 自动调用了__set() $person1->name = "张三"; echo $person1->name; echo "<br/>"; echo $person1->say (); // 自动调用了__get() echo $person1->age; echo "<br/>"; var_dump ( isset ( $person1->name ) ); echo "<br/>"; unset($person1->name); echo "unset------------>".$person1->name;//name 没有被unset() echo "<br/>"; $person2 = null; ?>
Résultat :
张三 张三在说话 22 bool(false) unset------------>张三 goodbye2 goodbye3 goodbye张三
J'espère que cet article sera utile à tout le monde dans la programmation PHP.
Pour plus d'articles liés à la définition et des exemples simples d'utilisation des classes de programmation orientée objet PHP, veuillez faire attention au site Web PHP chinois !