析构函数+类的三大特性——封装

<?php
class Person{
    var $Name;
    var $age;
    var $Sex;
    function say()
    { 
         echo "我的名字:".$this->Name."&nbsp;&nbsp;性别:".$this->Sex."&nbsp;&nbsp;年龄:".$this->age;
    }
    function walk()
    {    echo $this->Name."在散步!";}            
}
$p=new Person();
$p1=new Person();

$p->Name="simon";
$p->age=21;
$p->Sex="男";

$p1->Name="diliya";
$p1->age=20;
$p1->Sex="女";

echo $p->Name."&nbsp;&nbsp";
echo $p->age."&nbsp;&nbsp";
echo $p->Sex;
$p->say();
$p->walk();
echo $p1->Name."&nbsp;&nbsp;";
echo $p1->age."&nbsp;&nbsp;";
echo $p1->Sex."&nbsp;&nbsp;";
$p1->say();
$p1->walk();
var_dump($p);
var_dump($p1);


//析构函数 在对象销毁前调用
class Ren{
    private $Name;
    private $age;
    private $Sex;
    function say()
    { 
         echo "我的名字:".$this->Name."&nbsp;&nbsp;性别:".$this->Sex."&nbsp;&nbsp;年龄:".$this->age;
    }
    function walk()
    {    echo $this->Name."在散步!";}    
    
    function __destruct()
    {
        echo "该对象销毁了";
    }    
    function Setage($a)//给age赋值
    {If($a>=20&&$a<=50)
        $this->age=$a;}    
    function Getage()  //取age的值
    {
        return $this->age;}
    
    function __set($Name,$value)//对类里边的私有成员进行赋值的魔术方法
    {   if($Name=="age")
        {if($value>20&&$value<50)
         {
             $this->$Name=$value;
         }
        }
        else{ $this->$Name=$value;}
    }
    function __get($Name) //对类里边的私有成员进行取值的魔术方法
    {
       return $this->$Name;
        
    }
}
$r=new Ren();
$r->Setage(30);


$r->Name="李四";//只要是执行该语句,会自动调用__set方法,
$r->Sex="女";
echo $r->Sex;
var_dump($r);
//面向对象三大特性
//封装
//目的:让类更加安全,不让外界直接访问类里面的成员变量
//做法:1.把成员变量做成私有的 
     //2.做一个方法来实现变量的取值或赋值
//使用类里边提供的魔术方法也可以实现对私有成员的操作
//__set()特点:会自动执行,把赋值语句中的变量名作为第一个参数,把变量值作为第二个参数来调用__set()方法
//__get()特点:会自动执行,会把取值语句中的变量名作为参数调用__get()
//继承
//多态




?>

 

转载于:https://www.cnblogs.com/nannan-0305/p/5442958.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值