復制代碼 代碼如下:
//__set()方法用來設置私有屬性
public function __set($name,$value){
$this->$name = $value;
}
//__get()方法用來獲取私有屬性
public function __get($name){
return $this->$name;
}
復制代碼 代碼如下:
<?php
class Person
{
//下面是人的成員屬性,都是封裝的私有成員
private $name; //人的名子
private $sex; //人的性別
private $age; //人的年齡
//__get()方法用來獲取私有屬性
private function __get($property_name)
{
echo "在直接獲取私有屬性值的時候,自動調用了這個__get()方法<br>";
if(isset($this->$property_name))
{
return($this->$property_name);
}
else
{
return(NULL);
}
}
//__set()方法用來設置私有屬性
private function __set($property_name, $value)
{
echo "在直接設置私有屬性值的時候,自動調用了這個__set()方法為私有屬性賦值<br>";
$this->$property_name = $value;
}
}
$p1=newPerson();
//直接為私有屬性賦值的操作,會自動調用__set()方法進行賦值
$p1->name="張三";
$p1->sex="男";
$p1->age=20;
//直接獲取私有屬性的值,會自動調用__get()方法,返回成員屬性的值
echo "姓名:".$p1->name."<br>";
echo "性別:".$p1->sex."<br>";
echo "年齡:".$p1->age."<br>";
?>
新聞熱點
疑難解答