php構造函數和析構函數


構造函數

PHP5可以在類中使用__construct()定義一個構造函數,具有構造函數的類,會在每次對象創建的時候調用該函數,因此常用來在對象創建的時候進行一些初始化工作。

class Car {

   function __construct() {

       print "構造函數被調用\n";

   }

}

$car = new Car(); //實例化的時候 會自動調用構造函數__construct,這里會輸出一個字符串

 

在子類中如果定義了__construct則不會調用父類的__construct,如果需要同時調用父類的構造函數,需要使用parent::__construct()顯式的調用。

 

class Car {

   function __construct() {

       print "父類構造函數被調用\n";

   }

}

class Truck extends Car {

   function __construct() {

       print "子類構造函數被調用\n";

       parent::__construct();

   }

}

$car = new Truck();

 

析構函數

同樣,PHP5支持析構函數,使用__destruct()進行定義,析構函數指的是當某個對象的所有引用被刪除,或者對象被顯式的銷毀時會執行的函數。

class Car {

   function __construct() {

       print "構造函數被調用 \n";

   }

   function __destruct() {

       print "析構函數被調用 \n";

   }

}

$car = new Car(); //實例化時會調用構造函數

echo '使用后,准備銷毀car對象 \n';

unset($car); //銷毀時會調用析構函數

當PHP代碼執行完畢以后,會自動回收與銷毀對象,因此一般情況下不需要顯式的去銷毀對象。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM