封装
目的:让类更加安全,不让外界直接访问类里面的成员变量
做法:1.把成员变量做成私有的。2.做一个方法来实现取值或赋值,在方法里面加限制条件。
class ren
{
private $name;
private $sex;
private $age;
function __construct($s)
{
$this->sex=$s;
}
public function Say()
{
echo "hello";
}
function __destruct() //析构函数,对象销毁前执行
{
echo "该对象销毁了!";
}
function SetAge($a) //给age赋值的函数
{
if($a>10 && $a<50)
{
$this->age = $a;
}
}
function GetAge() //取age的值
{
return $this->age;
}
function __set($name,$value) //对类里面的私有成员进行赋值的魔术方法^
{
if($name == "age")
{
if($value>20 && $value<50)
{
$this->$name = $value;
}
}
else
{
$this->$name = $value;
}
}
function __get($name) //对类里面的私有成员进行取值的魔术方法^
{
return $this->$name;
}
}
使用类里面提供的魔术方法也可以实现对私有成员的操作
__set()特点:会自动执行,把赋值语句中的变量名作为第一个参数,把变量值作为第二个参数调用__set方法
__get()特点:会自动执行,把取值语句中的变量名作为参数调用__get方法