PHP析构函数与构造函数是相反的,它们被调用来一个对象从内存中销毁,帮助我们释放对象属性所占用的内存并销毁对象相关的资源。
php构造函数是对象创建完成后,第一个自动调用的方法,析构函数是当对象被释放之前最后一个自动调用的方法。本文章向大家介绍php构造函数与析构函数。
php构造函数
构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
1.是对象创建完成后,“第一个”“自动调用”的方法
2.构造方法的定义,方法名是一个固定的,
在php4中:和类名相同的方法就是构造方法
在php5中:构造方法选择使用 魔术方法construct() 所有类中声明构造方法都使用这个名称
优点:在改变类名时,构造方法不用改变
魔术方法: 在类中写出了某个魔术方法,这个方法对应的功能就会添加上
方法名称都是固定的(都是系统提供好的),没有自己定义的
每一个魔术方法,都是在不同时刻为了完成某一功能自动调用的方法
不同的魔术方法有不同的调用时机
都是以 开头的方法
construct(); destruct(); set();......
作用:为成员属性初始化;
php析构函数
析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,delete会自动调用析构函数后释放内存)。
1.当对象被释放之前最后一个“自动”调用的方法
使用垃圾回收器(java php),而c++手动 的释放
作用:关闭一些资源,作一些清理的工作
destruct();
php构造函数与析构函数实例
class Person{ var $name; var $age; var $sex; //php4中的构造方法 /*function Person() { //每声明一个对象都会调用 echo "1111111111111111"; }*/ //php5中的构造方法 function construct($name,$age,$sex){ $this->name=$name; $this->age=$age; $this->sex=$sex; } function say(){ //$this->name;//对象中成员的访问使用$this echo "我的名字:{$this->name},我的年龄:{$this->age}<br>" } function run(){ } function eat(){ } //析构方法 function destruct(){ } } $p1=new Person("zhangsan",25,"男"); $p2=new Person; $p3=new Person;
Atas ialah kandungan terperinci php构造函数与析构函数详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!