封装的四个魔术常量: __set,__get,__isset,__unset四个方法。 问题:构造函数与析构函数的用法:
function __construct($_name,$_age) { $this->name=$_name; $this->age=$_age; echo "是个对象了".' '; } function __destruct()//注意,析构函数不能有参数哈 { echo "被销毁了..."; } } $p1=new people('cyg',20); ?>
//__set与__get函数的用法:
private $name='cyg'; function __get($name)//然后是获取到$value所赋值的变量了$name了 {//然后返回把... return $this->$name; } function __set($name,$value)//第一个是赋值的左边,第二个是右边.$value是cyg,$name是新定义的变量 { $this->$name=$value; } } $p1=new people(); echo'当自动获取属性存在时,我的名字是:'.$p1->name; ?>
//__isset与__unset的运用:
var $name='cyg'; public function __isset($nm)//看看存不存在把 { return isset($this->$nm);//返回true或者false } public function __unset($nm) { unset($this->$nm);//销毁不需要返回了,因为什么都没有了,都没有值了 } } $p1=new people(); echo isset($p1->name);//1代表存在值,0代表不存在把 echo " "; echo "下面是上面都没有了"; unset($p1->name); ?>
记住,__isset与__unset是public类型的哈.
继承: 父类—基类 子类–派生类