析构函数 php,PHP中__destruct(),类的析构函数详解

PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。

PHP中__destruct(),类的析构函数

通过《PHP中__destruct(),类的构造函数》讲解,现在我们已经知道了什么叫构造方法。

那么与构造方法对应的就是析构方法。

析构方法允许在销毁一个类之前执行的一些操作或完成一些功能,比如说关闭文件、释放结果集等。

析构方法是PHP5才引进的新内容。

析造方法的声明格式与构造方法 __construct() 比较类似,也是以两个下划线开始的方法 __destruct() ,这种析构方法名称也是固定的。

1、 析构方法的声明格式function __destruct()

{

//方法体

}

注意:析构函数不能带有任何参数。

2、 析构方法的作用

一般来说,析构方法在PHP中并不是很常用,它属类中可选择的一部分,通常用来完成一些在对象销毁前的清理任务。

举例演示,如下:<?php

class Person{

public $name;

public $age;

public $sex;

public function __construct($name="", $sex="男", $age=22)

{

$this->name = $name;

$this->sex = $sex;

$this->age = $age;

}

/**

* say 说话方法

*/

public function say()

{

echo "我叫:".$this->name.",性别:".$this->sex.",年龄:".$this->age;

}

/**

* 声明一个析构方法

*/

public function __destruct()

{

echo "我觉得我还可以再抢救一下,我的名字叫".$this->name;

}

}

$Person = new Person("小明");

unset($Person); //销毁上面创建的对象$Person

上面的程序运行时输出:我觉得我还可以再抢救一下,我的名字叫小明

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
构造函数和析构函数的两个特殊成员函数,用于管理对象的生命周期。 构造函数: 构造函数是在对象创建时自动调用的函数,用于初始化对象的成员变量。它的名称必须与名相同,没有返回值,可以有参数,也可以没有参数。C++可以定义多个构造函数,称为构造函数重载。如果没有定义构造函数,编译器会自动生成默认构造函数。 析构函数析构函数是在对象销毁时自动调用的函数,用于释放对象占用的资源。它的名称必须与名相同,以~开头,没有返回值,不接受任何参数。C++不允许定义多个析构函数。 以下是一个简单的示例代码,展示了如何定义和使用构造函数和析构函数: ``` #include <iostream> using namespace std; class Person { public: // 构造函数 Person(const char* name, int age) { this->name = name; this->age = age; cout << "Person created." << endl; } // 析构函数 ~Person() { cout << "Person destroyed." << endl; } // 成员方法 void display() { cout << "Name: " << name << ", Age: " << age << endl; } private: string name; int age; }; int main() { // 创建一个Person对象 Person p("Tom", 20); // 使用对象 p.display(); // 对象会在main函数结束时自动销毁 return 0; } ``` 在这个示例,我们定义了一个Person,其包含构造函数和析构函数。当我们在main函数创建一个Person对象时,会自动调用构造函数将对象初始化,然后执行display()方法来使用对象,最后在main函数结束时,会自动调用析构函数将对象销毁,释放内存空间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值