OOP面向对象基础-封装性
面型对象的特性
- 封装性
- 继承性
- 多态性
3p
- public 公共的
- private 私有的
- protected 受保护的
魔术方法(自动调用,自动触发)
__set($key,$value)
给非公有的属性赋值时,自动调用,并且把属性名称和要赋的值 作为第1个和第2个参数传入class Car
{
private $name;
public function show(){
echo "this is a ".$this->name;
}
public function __set($key,$value){
$this->$key = $value;
}
}
$bm = new Car;
$bm -> name ="宝马";//如果不定义__set方法,会报错
$bm -> show();
__get($key)
使用非公有的属性时自动调用,并且把属性名传入,public function __get($key)
{
echo $this ->$key;
}
$bm->name;
__isset()
当对非公有属性 调用isset/empty函数是自动调用public function __isset($key)
{
echo $this->$key;
echo "存在";
}
public function __unset($key)
{
echo $this->$key;
echo "我是删除";
}
//外部不存在,内部存在
if(isset($a -> b)){
echo "存在";
}else{
echo "不存在";
}
__unset()
当对非公有属性 调用unset函数是自动调用 本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。