1. 程式人生 > >php中建構函式和解構函式

php中建構函式和解構函式

php5 可以在類中使用__construct()定義一個建構函式  具有建構函式的類  會在每次物件建立的時候 呼叫該函式  因此常用來物件建立的時候進行一些初始化工作

class Car{

function __construct(0{

print "建構函式被呼叫\n";

}

}

$car = new Car();   //例項化的時候  會自動呼叫建構函式__construct   這裡會輸出一個字串

在子類中如果定義了__construct 則不會呼叫父類的__construct, 如果需要同時呼叫父類的建構函式  需要使用parent:: __construct()顯示的呼叫

class Car{

function __construct(0{

print "父類建構函式被呼叫\n";

}

}

class Truct extends Car{

function __construct(){

print "子類的建構函式的呼叫";

parent ::__construct();

}

}

$car = new Truck();

同樣 php5 支援解構函式 使用__destruct()進行定義 解構函式值得是當某個物件的所有引用被刪除 或者物件被顯式的銷燬時會執行的函式

class Car{

function __construct(){

print "建構函式被呼叫";

}

function __destruct(){

print "解構函式被呼叫";

}

}

$car = new Car();  //例項化時候會呼叫建構函式

echo '使用後,準備銷燬car物件‘;

unset($car);    //銷燬時候會呼叫解構函式

當php程式碼執行完畢以後  會自動回收與銷燬物件  因此一般情況下不需要顯式的去銷燬物件