php中建構函式和解構函式
阿新 • • 發佈:2019-02-04
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程式碼執行完畢以後 會自動回收與銷燬物件 因此一般情況下不需要顯式的去銷燬物件