Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php构造函数与析构函数详解

php构造函数与析构函数详解

怪我咯
怪我咯asal
2017-07-12 10:33:372622semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn