析 构 方 法

封装,有一个叫构造函数

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

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. Windows Server 2008系统中IE8启用和禁用JS

    Windows Server 2008系统中IE8默认是启用IE ESC(ie 增强)的,这样会导致该IE不支持JS,开启方法: 1.开始->管理工具->服务器管理器 2.点击服务器管理- ...

  2. [转]AngularJS 实现 Table的一些操作(示例大于实际)

    本文转自:http://www.cnblogs.com/lin-js/p/linJS.html <!DOCTYPE html> <html> <head> < ...

  3. js打印去掉页眉页脚

    <style type="text/css" media="print"> @page /* 实现代码 */ { size: auto; /* au ...

  4. mysql-connector/python使用示例

    1.下载安装connector/python 地址:https://dev.mysql.com/downloads/connector/python/ 下载的版本(mysql-connector-py ...

  5. 基于bootstrap的图片轮播功能

    插入js及css支持: <link rel="stylesheet" href="css/bootstrap.min.css"/> <scri ...

  6. JQuery的一些基础知识

    JQuery的核心的一些方法 each(callback) '就像循环$("Element").length; ‘元素的个数,是个属性$("Element"). ...

  7. Android-多线程和进程

    http://www.cnblogs.com/plokmju/p/android_ProcessOrThread.html 对于单线程模型,Android有两个规则: 不能阻塞UI线程 不能在工作线程 ...

  8. JBPM学习第4篇:10分钟熟悉Eclipse

    http://download.jboss.org/jbpm/videos/7.0.0.Final_eclipse_getting_started.swf 打开视频练习 1.导入 evaluation ...

  9. vue-i18n国际化实例

    demo 场景需求分析 需求很简单,左上角 ''网易云音乐''就是一个中英文切换的按钮,点击弹出提示框,确认切换语言后,实现英文版本. 切换成英文版本: 三.实现国际化 1.我们得先有开发环境,先有项 ...

  10. Luogu4234:最小差值生成树

    题面 luogu Sol 好久没写\(LCT\) 然而写跪了\(TAT\) 把边从小到大加入森林 如果形成环,就替换最小的边 如果已经是树,更新答案 \(LCT\)维护 # include <b ...