PHP------析构方法
析 构 方 法
封装,有一个叫构造函数
和构造函数对应的还有一种方法叫做析构。
class ren //一个类 是 人类
{
public $mingzi ;//成员变量
punction__destruct() //析构方法
{
}
}
析构方法,有什么做用??什么时候执行??
析构方法是一个比较特殊的方法。
写法特殊:__destruct
执行的时间特殊:是在对象销毁的时候执行。
//构造方法是什么时候执行?是在创建对象的时候执行。
1 <?php
2
3 class ren //一个类 是 人类
4
5 {
6
7 public $mingzi;//成员变量
8
9 function __destruct() //析构方法
10
11 {
12
13 echo "该对象销毁了!";
14
15 }
16
17 }
18
19
20
21 //对象什么时候销毁呢???
22
23 $r=new ren();//造一个人的对象出来
24
25 $r-> mingzi="张三"; //调用里面的mingzi 给它赋一个值”张三”
26
27 var_dump($r)//输出一个对象
28
29 ?>
显示的结果::
$r=new ren();//造一个人的对象出来
$r-> mingzi="张三"; //调用里面的mingzi 给它赋一个值”张三”
var_dump($r)//输出一个对象
用完这个对象后面没有在用, 这个对象就没了,销毁之后就会执行,echo "该对象销毁了!"; 这一句话。
如果把这个 var_dump($r)//输出一个对象 删掉 上面的执行完就没有再用了,没有输出就销毁了
1 <?php
2
3 class ren //一个类 是 人类
4
5 {
6
7 public $mingzi;//成员变量
8
9 function __destruct() //析构方法
10
11 {
12
13 echo "该对象销毁了!";
14
15 }
16
17 }
18
19
20
21 //对象什么时候销毁呢???
22
23 $r=new ren();//造一个人的对象出来
24
25 $r-> mingzi="张三"; //调用里面的mingzi 给它赋一个值”张三”
26
27 //var_dump($r)//输出一个对象
28
29 ?>
显示的结果::
所以他就看,对象是在哪里销毁的,哪个地方往后没有用了就销毁,销毁是就自动调用__destruct
在后面没有使用到对象,这个对象就自动被回收了(就自动当垃圾回收了),说明这个对象就销毁了,用完这个对象之后,下面不在使用了这个对象了,这个对象就叫销毁掉了。
销毁的时候就会自动调用,析构方法,所以在输出完这个对象之后,就调用了一下析构方法。
构造函数的作用是:可以对里面的成员进行初始化
析构方法的作用是:可以给出提示,在对象销毁之前,将内存释放,连接关闭等等。
构造函数是在造对象的时候执行;析构是在销毁对象的时候执行。