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

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

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

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

 

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

 

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

时间: 2024-10-12 03:00:36

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

构造方法与析构方法区别

Java构造方法 类有一个特殊的成员方法叫作构造方法,它的作用是创建对象并初始化成员变量.在创建对象时,会自动调用类的构造方法.构造方法定义规则:Java 中的构造方法必须与该类具有相同的名字,并且没有方法的返回类型(包括没有void).另外,构造方法一般都应用 public 类型来说明,这样才能在程序任意的位置创建类的实例也就是对象.示例:下面是一个 Rectangle 类的构造方法,一个是带有两个参数,分别表示矩形的长和宽: 另一个是不带参数:public class Rectangle {

知识点:构造和析构方法 __new__ , __init__ , __del__

1:__new__ 类创建对象的一个执行的方法,一般不需要重写这个函数.当继承的类是不可变,但是又想修改该对象. 基本语法  def __new__(cls ,[args,]]) ####写一个将字母全部大写的类#### class Capstr(str): def __new__(cls , string): string = string.upper() return str.__new__(cls , string) print(Capstr("marian")) ####写一个

PHP之析构方法学习笔记

__destruct() 当对象被销毁时候,系统内部会自动调用该方法. 分三类:   1.当php代码 声明周期执行完毕结束后: 会自动调用该方法 2.当对象被unset()后 :系统会自动调用该方法 3.当对象被重新赋值后 :系统会自动调用该方法 1 class Test{ 2 3 public function __destruct(){ 4 5 echo "对象被销毁之后,执行的代码"; 6 } 7 } 8 9 $test = new Test(); 10 11 unset($t

类的构造方法和析构方法和封装的目的和封装的做法+访问修饰符

一.封装的目的:为了让类更安全. 封装的做法: ①类里面的成员变量做为private ②使用成员方法来间接访问成员变量 ③在该方法里面加限制条件 注意:PHP类里面不允许出现同名方法. 二.访问修饰符 ①public:代表公有的,在任何地方都可以访问. ②protected:代表受保护的,只能在该类或该类的子类中访问. ③private:代表私有的,只能在该类中访问. 三.类的构造方法注意事项 ①构造方法名可以和类相同,也可以使用__construct();提倡时候后者. ②构造方法没有返回值.

PHP抽象接口析构方法

/*class Ren{ public static $color; static function Show() { Ren::$color;//用类名不仅可以调用自己的,还可以调用其他类的Car::$name self::$color;//用self只能调用该类 }}class Car{ public static $name;}*///抽象类 关键词abstract/*abstract class DongWu{ public $dong; public $jiao; function C

0607am抽象类&amp;接口&amp;析构方法&amp;tostring&amp;小知识点

/*class ren{ public static $color;//静态 static function () { ren::$color; self::$color;//self只能写在类里面,代表这分类 }} */ //不能实例化的类:抽象类abstract class Animal //关键字abstract{ public $dong; public $jiao; function chi() { } function shui() { }}class Ren extends Ani

PHP面相对象:构造方法与析构方法

一.构造方法 构造方法也称“构造器”,是对象创建完成后,第一个自动调用的方法,他的作用是初始化成员属性. 二.析构方法 当对象被垃圾回收器释放之前最后一个被自动调用的时候,他一般用于关闭一些资源,做一些清理的工作. 1 class Person { 2 var $age; 3 var $name; 4 var $sex; 5 6 function Person($name = "", $sex = "男", $age = 0) { 7 $this->name

python面向对象析构方法-----&gt; __del__方法

1.什么时候用法析构方法. 在对象资源被释放的时候触发. 2.使用场景. 帮助清理资源,比如python解释器清理不掉的资源. 例子: class Foo: def __init__(self,x): self.x=x def __del__(self): #在对象资源被释放时触发 print('现在是__del__执行') f=Foo(100000) del f #这个步骤在释放资源,这个时候会触发函数中的__del__函数中定义的方法. print('====================

02.php面向对象——构造方法&amp;析构方法

<?php //自己写的构造方法 class Computer{ public function Computer(){ echo '构造方法'; } } new Computer();//这样就完成了调用 ?> <?php class Computer{ //系统内置构造方法 public function __construct(){ echo '这是构造方法'; } //析构方法 public function __destruct(){ echo '这是析构方法'; } } ?&

php构造方法与析构方法

1. 构造方法 <?php //构造方法 __construct() 是在实例化对象时被自动调用 //用途:可以用于初始化程序(可以给成员属性赋值,也可以调用成员方法) //语法:[修饰符] function __construct(参数列表...){ } // 构造方法方法格式: // [修饰符] function __construct([参数]){ // 程序体 // } class person{ public $name; public $age; public $sex; publi