析 构 方 法

封装,有一个叫构造函数

和构造函数对应的还有一种方法叫做析构。

class ren    //一个类 是 人类

{

public $mingzi ;//成员变量

punction__destruct()   //析构方法  

{

}

}

析构方法,有什么做用??什么时候执行??

析构方法是一个比较特殊的方法。

写法特殊:__destruct

执行的时间特殊:是在对象销毁的时候执行。

//构造方法是什么时候执行?是在创建对象的时候执行。

  <?php

 class ren    //一个类 是 人类

 {

     public $mingzi;//成员变量

     function __destruct()   //析构方法  

      {

          echo "该对象销毁了!";

         }

 }

 //对象什么时候销毁呢???

 $r=new ren();//造一个人的对象出来

 $r-> mingzi="张三";   //调用里面的mingzi 给它赋一个值”张三”

 var_dump($r)//输出一个对象

 ?>

显示的结果::

$r=new ren();//造一个人的对象出来

$r-> mingzi="张三";   //调用里面的mingzi 给它赋一个值”张三”

var_dump($r)//输出一个对象

用完这个对象后面没有在用, 这个对象就没了,销毁之后就会执行,echo "该对象销毁了!";  这一句话。

如果把这个 var_dump($r)//输出一个对象  删掉  上面的执行完就没有再用了,没有输出就销毁了

 <?php

 class ren    //一个类 是 人类

 {

     public $mingzi;//成员变量

     function __destruct()   //析构方法  

      {

          echo "该对象销毁了!";

         }

 }

 //对象什么时候销毁呢???

 $r=new ren();//造一个人的对象出来

 $r-> mingzi="张三";   //调用里面的mingzi 给它赋一个值”张三”

 //var_dump($r)//输出一个对象

 ?>

显示的结果::

所以他就看,对象是在哪里销毁的,哪个地方往后没有用了就销毁,销毁是就自动调用__destruct

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

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

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

 

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

 

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

PHP------析构方法的更多相关文章

  1. php构造方法与析构方法

    1. 构造方法 <?php //构造方法 __construct() 是在实例化对象时被自动调用 //用途:可以用于初始化程序(可以给成员属性赋值,也可以调用成员方法) //语法:[修饰符] f ...

  2. 【Swift学习】Swift编程之旅---析构方法(十九)

    在一个类的实例内存被释放之前,析构方法被立即调用.使用deinit关键字来声明析构方法,类似于构造方法用init来声明.析构方法只适用于类类型.   析构方法原理 Swift会自动释放不再需要的实例以 ...

  3. 【PHP构造方法和析构方法的使用】

    构造方法:__construct,析构方法:__destruct 代码示例: <?php class Person { public $name; public $age; public fun ...

  4. PHP-----类与对象,成员方法,成员属性,构造方法,析构方法

    php里面的类-----class XX{},通过类的定义,可以使用调用类里面的成员属性和成员方法. 对象---一个类就是一个对象,一个对象可以有多个属性,一个类可以有多个成员方法. 构造方法:一个类 ...

  5. PHP其它常用函数;<<<面向对象(OPP)的三大特性:封装、继承、加态:>>> <----面试题 ;构造方法、析构方法,魔术方法、set、get方法;静态;抽象类;接口

    PHP其它常用函数:     赋值:$r->name = "元素";      取值: echo $r->name;  count()   计算数组中的元素数目或对象中 ...

  6. 【M11】禁止异常流出析构方法之外

    1.在两种情况下,调用析构方法:a.在正常状态下被销毁,栈上的对象离开作用域或者堆上的对象执行delete:b.抛出异常,堆栈回滚,栈上已经构造好的对象,也就是抛出异常之前的代码,自动调用析构方法.注 ...

  7. C++ 析构方法

    1.什么是析构方法? 析构方法与构造方法互补. 2.为什么设计析构方法? 构造方法创建一个对象,对象内部往往还会申请一些资源.设计析构方法的目的是 释放资源,同时销毁自身. 3.析构方法可以认为分为两 ...

  8. 【07】为多态基类声明virtual析构方法

    1.考虑下面的需要,需要一个工厂方法.工厂方法的规则是:在堆上分配一个子类对象,并返回父类指针.使用完毕,delete父类指针.如果父类的析构方法不是virtual,将直接调用父类的析构方法,导致局部 ...

  9. PHP面向对象的构造方法与析构方法

    构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关.构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因.而析构方法时对象在销毁之前最后一个被对象自 ...

  10. swift3.0 构造器、析构方法(3)

    构造和析构是两种特殊的方法,在对象进行初始化的时候 使用构造,在对象的释放操作中,使用析构. 构造器的定义: init (){ //代码 } init(name:String){ //代码 } 在构造 ...

随机推荐

  1. Freemarker 最简单的例子程序

    首先导入包,freemarker.jar   下载地址:  freemarker-2.3.18.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/pro ...

  2. Silverlight & Blend动画设计系列三:缩放动画(ScaleTransform)

    在Silverlight的动画框架中,ScaleTransform类提供了在二维空间中的坐标内进行缩放操作,通过ScaleTransform可以在水平或垂直方向的缩放和拉伸对象,以实现一个简单的缩放动 ...

  3. Hadoop实战之二~ hadoop作业调度详解(1)

    对Hadoop的最感兴趣的地方,也就在于Hadoop的作业调度了,在正式介绍如何搭建Hadoop之前,深入理解一下Hadoop的作业调度很有必要.我们不一定能用得上Hadoop,但是如果理通顺Hado ...

  4. js实现栈

    栈是一种先进后出的特殊线性表结构,存储上分链式存储和顺序存储两种方式 链式存储: function LinkedStack() { let Node = function (ele) { this.e ...

  5. Ruby 踩坑 “Failed to build gem native extension”

    ruby新手,总是会出现这样那样的问题,这里先记录下,希望能解决你得问题. 首先是安装ruby 环境,楼主愚钝,在公司和自己的电脑上来来回回整了好几天,每次安装 gem 包的时候总是报错,错误信息大致 ...

  6. logstash结合es,日志收集

    1.下载好logstash后,解压目录 2.进入bin目录,新建文件 logstash_default.conf input { tcp { port => 4560 codec => & ...

  7. maven <resources>标签

    <build> <finalName>com_dubbo_config</finalName> <resources> <resource> ...

  8. SQLSTATE[HY000] [2002] No such file or directory in

    这个错误将数据库配置信息的localhost改成127.0.0.1就行了

  9. jquery 拓展函数集

    方式: 通过拓展在调用$()时返回的包装器 1.将函数绑定到$.fn $.fn.disable = function(){ return this.each(function(){ if (typeo ...

  10. 洛谷P1155 双栈排序(贪心)

    题意 题目链接 Sol 首先不难想到一种贪心策略:能弹则弹,优先放A 然后xjb写了写发现只有\(40\),原因是存在需要决策的情况 比如 \(A = {10}\) \(B = {8}\) 现在进来一 ...