您的位置:首页 > 其它

__get __set

2016-06-08 10:45 197 查看
<?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>";
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: