欢迎光临
感谢一路有你

OOP面向对象基础-封装性

如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
 

面型对象的特性

  1. 封装性
  2. 继承性
  3. 多态性

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函数是自动调用

赞(0) 打赏
未经允许不得转载:王明昌博客 » OOP面向对象基础-封装性
分享到: 更多 (0)

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮