php面向对象:封装

OOP三大特性:封装、继承、多态。

封装的目的:为了让类更安全
封装的做法:
1.类里面的成员变量做为private
2.使用成员方法来间接访问成员变量
3.在该方法里面加限制条件

注意:php类里面不允许出现同名方法。构造方法:写法特殊,执行时间特殊。

class Ren
{
    private $name;
    private $sex;
    private $age;   //条件:年龄必须在18-50之间
    
    function __construct($v)
    {
        $this->sex = $v;
    }
    //魔术方法set
    function __set($n,$v)
    {
        if($n=="age")
        {
            if($v>=18 && $v<=50)
            {
                $this->$n = $v;
            }
        }
        else 
        {
            $this->$n = $v;
        }
    }
    
    //魔术方法get
    function __get($n)
    {
        return $this->$n;
    }
    
    //设置age的值
    function setage($a)
    {
        if($a>=18 && $a<=50)
        {
            $this->age = $a;
        }
    }
    //获取age的值
    function getage()
    {
        return $this->age;
    }
    
    function say()
    {    
        echo "hello"; 
    }
    
    //析构方法
    function __destruct()
    {
        echo "这是一个析构方法";
    }
    
    function __tostring()
    {
        return "这个类是人类";              这里可以return一个注释,解释。
    }
    
    
}

$r = new Ren("男");

//$r->setage(20);
//echo $r->getage();

$r->say();

//$r->age = 30;

//echo $r->age;

//$r->__get("age");

//$r->__set("age",20);

var_dump($r);
原文地址:https://www.cnblogs.com/u1020641/p/5993613.html