PHP------析构方法
析 构 方 法
封装,有一个叫构造函数
和构造函数对应的还有一种方法叫做析构。
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------析构方法的更多相关文章
- php构造方法与析构方法
1. 构造方法 <?php //构造方法 __construct() 是在实例化对象时被自动调用 //用途:可以用于初始化程序(可以给成员属性赋值,也可以调用成员方法) //语法:[修饰符] f ...
- 【Swift学习】Swift编程之旅---析构方法(十九)
在一个类的实例内存被释放之前,析构方法被立即调用.使用deinit关键字来声明析构方法,类似于构造方法用init来声明.析构方法只适用于类类型. 析构方法原理 Swift会自动释放不再需要的实例以 ...
- 【PHP构造方法和析构方法的使用】
构造方法:__construct,析构方法:__destruct 代码示例: <?php class Person { public $name; public $age; public fun ...
- PHP-----类与对象,成员方法,成员属性,构造方法,析构方法
php里面的类-----class XX{},通过类的定义,可以使用调用类里面的成员属性和成员方法. 对象---一个类就是一个对象,一个对象可以有多个属性,一个类可以有多个成员方法. 构造方法:一个类 ...
- PHP其它常用函数;<<<面向对象(OPP)的三大特性:封装、继承、加态:>>> <----面试题 ;构造方法、析构方法,魔术方法、set、get方法;静态;抽象类;接口
PHP其它常用函数: 赋值:$r->name = "元素"; 取值: echo $r->name; count() 计算数组中的元素数目或对象中 ...
- 【M11】禁止异常流出析构方法之外
1.在两种情况下,调用析构方法:a.在正常状态下被销毁,栈上的对象离开作用域或者堆上的对象执行delete:b.抛出异常,堆栈回滚,栈上已经构造好的对象,也就是抛出异常之前的代码,自动调用析构方法.注 ...
- C++ 析构方法
1.什么是析构方法? 析构方法与构造方法互补. 2.为什么设计析构方法? 构造方法创建一个对象,对象内部往往还会申请一些资源.设计析构方法的目的是 释放资源,同时销毁自身. 3.析构方法可以认为分为两 ...
- 【07】为多态基类声明virtual析构方法
1.考虑下面的需要,需要一个工厂方法.工厂方法的规则是:在堆上分配一个子类对象,并返回父类指针.使用完毕,delete父类指针.如果父类的析构方法不是virtual,将直接调用父类的析构方法,导致局部 ...
- PHP面向对象的构造方法与析构方法
构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关.构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因.而析构方法时对象在销毁之前最后一个被对象自 ...
- swift3.0 构造器、析构方法(3)
构造和析构是两种特殊的方法,在对象进行初始化的时候 使用构造,在对象的释放操作中,使用析构. 构造器的定义: init (){ //代码 } init(name:String){ //代码 } 在构造 ...
随机推荐
- 分布式事务-Sharding 数据库分库分表
Sharding (转)大型互联网站解决海量数据的常见策略 - - ITeye技术网站 阿里巴巴Cobar架构设计与实践 - 机械机电 - 道客巴巴 阿里分布式数据库服务原理与实践:沈询_文档下载 ...
- SQL 文件以及文件组
1.SQL Server根据分区表名查找所在的文件及文件组实现脚本 --SQL Server根据分区表名查找所在的文件及文件组实现脚本 SELECT fg.name AS FileGroupName ...
- 对象和类型(数组、ref、out)
class Program { //数组是引用类型 //如果把数组或类等其他引用类型传递给方法,对应的方法就会使用该引用类型改编数组中值, //而新值会反射到原始数组上 static void Som ...
- JS 提交反斜杠\替换成正斜杠/
js将字符串中所有反斜杠\替换成正斜杠/ 区分正斜杠与反斜杠: 正斜杠:http://.http紧跟着的斜杠,离手输入最近的斜杠,shift中间斜杠.45度角斜杠.正斜杠不需要转义 反斜杠:回车与空格 ...
- JVM(五) class类文件的结构
概述 class类文件的结构可见下面这样图(出处见参考资料),可以参照下面的例子,对应十六进制码,找出找出相应的信息. 其中u2 , u4 表示的意思是占用两个字节和占用四个字节,下面我们将会各项说明 ...
- Asp.net core如何使用Session
转自:https://tahirnaushad.com/2017/08/18/asp-net-core-session-state/ Asp.net core使用session: 在nuget 安装M ...
- C#在不同平台下DLL的引用问题
缘起 很多时候,我们需要引用在不同平台下的DLL,32位(X86)和64位(X64).如果平台错误,在C#中会引发BadImageFormatException异常. 解决思路 我们同时不能添加不同平 ...
- MongoDB 学习(一)安装配置和简单应用
一.安装和部署 1.服务端安装 1.官网下载(官方网站 https://www.mongodb.org/downloads/#production),傻瓜式安装,注意修改安装路径. 安装完成后的目录结 ...
- flask之flask-login登陆验证(一)
这个模块能帮助我们做很多事,最常用到的是,登陆验证(验证当前用户是否已经登陆).记住我功能 一 安装 pip install flask-login 二 导入相关模块及对象并初始化 from flas ...
- Eclipse自定义启动画面和状态栏图标以及各种小图标的含义
一. 启动画面自定义 第一种情况:纯Eclipse 找到Eclipse安装路径下\eclipse\plugins\org.eclipse.platform_3.7.2.v201202080800,具体 ...