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

 

 

在后面没有使用到对象,这个对象就自动被回收了(就自动当垃圾回收了),说明这个对象就销毁了,用完这个对象之后,下面不在使用了这个对象了,这个对象就叫销毁掉了。

 

销毁的时候就会自动调用,析构方法,所以在输出完这个对象之后,就调用了一下析构方法。

 

构造函数的作用是:可以对里面的成员进行初始化

 

析构方法的作用是:可以给出提示,在对象销毁之前,将内存释放,连接关闭等等。

 

构造函数是在造对象的时候执行;析构是在销毁对象的时候执行。

原文地址:https://www.cnblogs.com/yuyu1993/p/5568745.html