PHP析構函數與建構子是相反的,它們被呼叫來一個物件從記憶體中銷毀,幫助我們釋放物件屬性所佔用的記憶體並銷毀物件相關的資源。
php建構子是物件建立完成後,第一個自動呼叫的方法,析構函式是當物件被釋放之前最後一個自動呼叫的方法。本文章向大家介紹php建構函式與析構函式。
php建構子
1.是物件建立完成後,「第一個」「自動呼叫」的方法
2.建構方法的定義,方法名稱是固定的,
在php4中:和類別名稱相同的方法就是建構方法
在php5:建構方法選擇使用魔術方法construct() 所有類別中宣告建構方法都使用這個名稱
優點:在改變類別名稱時,建構方法不用改變
魔術方法:在類別中寫出了某個魔術方法,這個方法對應的功能就會添加上
方法名稱都是固定的(都是系統提供好的),沒有自己定義的
每一個魔術方法,都是在不同時刻為了完成某一功能自動呼叫的方法
不同的魔術方法有不同的呼叫時機
都是以 開頭的方法
construct(); destruct(); set(); ....
作用:為成員屬性初始化;
php析構函數
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;
以上是php建構子與析構函式的實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!