跟着百度学PHP[4]OOP面对对象编程-6-构造方法(__construct)和构析方法(__destruct)
Posted 可我浪费着我寒冷的年华
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟着百度学PHP[4]OOP面对对象编程-6-构造方法(__construct)和构析方法(__destruct)相关的知识,希望对你有一定的参考价值。
函数就是成员方法(方法有三:构造方法、成员方法、析构方法)
下面是两种方法。
构造方法和构析方法
00x1 构造方法
构造方法会在创建对象之后自动调用。其名称为__construct
<?php class Student{ var $name; var $age; var $sex; function __construct(){ //可以从输出中看得出来,我们并没有输出这个方法,但是他自动输出了。这个就是构造方法的作用,会自动的被调用! echo "520PHP<br />"; } function study(){ echo "学习中,请稍后!"; } } $daniu = new Student; $daniu -> name="大牛梦!"; echo $daniu->name; ?>
输出效果:
00x2 构析方法
析构函数的作用:析构函数是用来在对象关闭时完成的特殊工作,比如在实例化同时打开某文件,但是它什么时候关闭呢,用完就关闭呗,所以析构函数直接关闭它,
构析方法与构造方法相反。析构函数是PHP5新添加的内容,PHP4中没有析构函数。
构析方法的名称必须为__destruct,且构析方法不能带有参数
<?php /** * */ class Student { var $name; var $sex; var $age; function __construct($name,$sex,$age) { $this->name=$name; $this->sex=$sex; $this->age=$age; } function say(){ echo "我叫:".$this->name."我是一个".$this->sex."生"."我今年".$this->age."岁了<br>"; } function __destruct(){ echo $this->name; } } $zhangsan=new Student("张三","男",21); $lisi =new Student("李四","男",23); $wangwu=new Student("王五","男",25); $zhangsan->say(); $lisi->say(); $wangwu->say(); ?>
不加那个函数之前正常的输出是这样的:
加了之后就变成了如下这样:
可以很清楚的看到多了王五李四张三
也就是说他在最后执行了__destruct。
00x2 构析方法
总的来说就是构造方法在一开始自动执行,析构方法在最后的时候自动执行。
区别:构造方法可有可无的参数,析构方法必须要有参数!
THE END
以上是关于跟着百度学PHP[4]OOP面对对象编程-6-构造方法(__construct)和构析方法(__destruct)的主要内容,如果未能解决你的问题,请参考以下文章
跟着百度学PHP[4]OOP面对对象编程-5-内部引用$this
跟着百度学PHP[4]OOP面对对象编程-12-对象接口技术(interface)
跟着百度学PHP[4]OOP面对对象编程-7-封装性private