php面向对象:封装

本文通过一个具体的 PHP 类实现案例,展示了面向对象编程中封装特性的运用。重点介绍了如何利用 private 成员变量和 getter/setter 方法确保数据的安全性和有效性。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值