析 构 方 法

封装,有一个叫构造函数

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

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. 分布式事务-Sharding 数据库分库分表

      Sharding (转)大型互联网站解决海量数据的常见策略 - - ITeye技术网站 阿里巴巴Cobar架构设计与实践 - 机械机电 - 道客巴巴 阿里分布式数据库服务原理与实践:沈询_文档下载 ...

  2. SQL 文件以及文件组

    1.SQL Server根据分区表名查找所在的文件及文件组实现脚本 --SQL Server根据分区表名查找所在的文件及文件组实现脚本 SELECT fg.name AS FileGroupName ...

  3. 对象和类型(数组、ref、out)

    class Program { //数组是引用类型 //如果把数组或类等其他引用类型传递给方法,对应的方法就会使用该引用类型改编数组中值, //而新值会反射到原始数组上 static void Som ...

  4. JS 提交反斜杠\替换成正斜杠/

    js将字符串中所有反斜杠\替换成正斜杠/ 区分正斜杠与反斜杠: 正斜杠:http://.http紧跟着的斜杠,离手输入最近的斜杠,shift中间斜杠.45度角斜杠.正斜杠不需要转义 反斜杠:回车与空格 ...

  5. JVM(五) class类文件的结构

    概述 class类文件的结构可见下面这样图(出处见参考资料),可以参照下面的例子,对应十六进制码,找出找出相应的信息. 其中u2 , u4 表示的意思是占用两个字节和占用四个字节,下面我们将会各项说明 ...

  6. Asp.net core如何使用Session

    转自:https://tahirnaushad.com/2017/08/18/asp-net-core-session-state/ Asp.net core使用session: 在nuget 安装M ...

  7. C#在不同平台下DLL的引用问题

    缘起 很多时候,我们需要引用在不同平台下的DLL,32位(X86)和64位(X64).如果平台错误,在C#中会引发BadImageFormatException异常. 解决思路 我们同时不能添加不同平 ...

  8. MongoDB 学习(一)安装配置和简单应用

    一.安装和部署 1.服务端安装 1.官网下载(官方网站 https://www.mongodb.org/downloads/#production),傻瓜式安装,注意修改安装路径. 安装完成后的目录结 ...

  9. flask之flask-login登陆验证(一)

    这个模块能帮助我们做很多事,最常用到的是,登陆验证(验证当前用户是否已经登陆).记住我功能 一 安装 pip install flask-login 二 导入相关模块及对象并初始化 from flas ...

  10. Eclipse自定义启动画面和状态栏图标以及各种小图标的含义

    一. 启动画面自定义 第一种情况:纯Eclipse 找到Eclipse安装路径下\eclipse\plugins\org.eclipse.platform_3.7.2.v201202080800,具体 ...