资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php中析构函数有什么用

这篇文章给大家介绍php中析构函数有什么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联建站科技有限公司专业互联网基础服务商,为您提供服务器主机托管高防主机,成都IDC机房托管,成都主机托管等互联网服务。

php析构函数是什么

格式:function__destruct(){......}

//创建一个人类

classPerson

{//下面是人的成员属性var$name;//人的名子var$sex;//人的性别var$age;//人的年龄//定义一个构造方法参数为姓名$name、性别$sex和年龄$agefunction__construct($name,$sex,$age)

{//通过构造方法传进来的$name给成员属性$this->name赋初使值$this->name=$name;//通过构造方法传进来的$sex给成员属性$this->sex赋初使值$this->sex=$sex;//通过构造方法传进来的$age给成员属性$this->age赋初使值$this->age=$age;}//这个人的说话方法functionsay()

{

echo"我的名子叫:".$this->name."性别:".$this->sex."我的年龄是:".$this->age."
";

}//这是一个析构函数,在对象销毁前调用function__destruct()

{echo“再见”.$this->name.”
”;

}

//通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄

$p1=newPerson(“张三”,”男”,20);

$p2=newPerson(“李四”,”女”,30);

$p3=newPerson(“王五”,”男”,40);

//下面访问$p1对象中的说话方法

$p1->say();

//下面访问$p2对象中的说话方法

$p2->say();

//下面访问$p3对象中的说话方法

$p3->say();

?>

php析构函数是什么

输出结果为:

我的名子叫:张三性别:男我的年龄是:20

我的名子叫:李四性别:女我的年龄是:30

我的名子叫:王五性别:男我的年龄是:40再见张三再见李四再见王五9.封装性

封装性是面向对象编程中的三大特性之一,封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:1.把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。2.信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。

封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度。

用个实例来说明吧,假如某个人的对象中有年龄和工资等属性,像这样个人隐私的属性是不想让其它人随意就能获得到的,如果你不使用封装,那么别人想知道就能得到,但是如果你封装上之

后别人就没有办法获得封装的属性,除非你自己把它说出去,否则别人没有办法得到。

再比如说,个人电脑都有一个密码,不想让其它人随意的登陆,在你的电脑里面拷贝和粘贴。还有就是像人这个对象,身高和年龄的属性,只能是自己来增涨,不可以让别人随意的赋值等等。

使用private这个关键字来对属性和方法进行封装:

原来的成员:var$name;//声明人的姓名var$sex;//声明人的性别var$age;//声明人的年龄functionrun(){…….}

改成封装的形式:private$name;//把人的姓名使用private关键字进行封装private$sex;//把人的性别使用private关键字进行封装private$age;//把人的年龄使用private关键字进行封装privatefunctionrun(){……}//把人的走路方法使用private关键字进行封装

注意:只要是成员属性前面有其它的关键字就要去掉原有的关键字“var”。

关于php中析构函数有什么用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享文章:php中析构函数有什么用
本文路径:http://cdkjz.cn/article/jsphpe.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220