zoukankan      html  css  js  c++  java
  • 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

     

     

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

     

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

     

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

     

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

     

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

  • 相关阅读:
    localdatetime获取本月第一天及最后一天
    java线程池ThreadPoolExecutor类使用详解
    yapiideaupload
    select count(*)和select count(1)的区别
    pgsql upsert语法
    easyui的datagrid里getSelections只能获取一行值???
    vue.js 外部配置文件(参考)
    PostgreSQL ROW_NUMBER() OVER()
    echart
    vue拼接html中onclick的触发方式,vue中的onclick,vue触发onclick,vue拼接html
  • 原文地址:https://www.cnblogs.com/yuyu1993/p/5568745.html
Copyright © 2011-2022 走看看