- 相關(guān)推薦
php中的構造方法與析構方法
大多數類(lèi)都有一種稱(chēng)為構造函數的特殊方法。下面給大家介紹php中的構造方法與析構方法,一起來(lái)了解一下吧!
構造方法是類(lèi)中的一個(gè)特殊方法。當使用 new 操作符創(chuàng )建一個(gè)類(lèi)的實(shí)例時(shí),構造方法將會(huì )自動(dòng)調用,其名稱(chēng)必須是 __construct() 。所以通常用它執行一些有用的初始化任務(wù)。該方法無(wú)返回值。
如果子類(lèi)中定義了構造函數則不會(huì )暗中調用其父類(lèi)的構造函數。要執行父類(lèi)的構造函數,需要在子類(lèi)的構造函數中調用 parent::__construct()。
與構造方法對應的就是析構方法,析構方法會(huì )在某個(gè)對象的所有引用都被刪除或者當對象被顯式銷(xiāo)毀之前執行的一些操作或者功能。析構函數不能帶有任何參數,其名稱(chēng)必須是 __destruct() 。
同樣,如果子類(lèi)中定義了析構函數則不會(huì )暗中調用其父類(lèi)的析構函數。要執行父類(lèi)的析構函數,需要在子類(lèi)的析構函數中調用 parent::__destruct()。
注意:在析構函數中拋出一個(gè)異常會(huì )導致致命錯誤。
<?php
class Construct{
protected $a;
protected $b;
function __construct($a,$b){ //定義構造函數
$this->a=$a;
$this->b=$b;
}
function __destruct(){ //重新定義為初始值
$result=0;
echo '恢復乘積的初始值:'.$result;
}
}
class son extends construct{
private $c;
function __construct($c){
parent::__construct(6,10); //調用父類(lèi)的構造方法,使用方法:parent::__construct(); 有參數加參數
$this->c=$c;
}
function show(){
$result=$this->a*$this->b*$this->c;
print 'abc的乘積是:'.$result.' ';
}
function __destruct(){
parent::__destruct(); //調用父類(lèi)的析構函數,使用方式:parent::__destruct();
}
}
$test=new son(12); //實(shí)例化對象
$test->show(); //abc的乘積是:720 恢復乘積的初始值:0
?>
【php中的構造方法與析構方法】相關(guān)文章:
PHP錯誤類(lèi)型及屏蔽方法08-22
PHP處理密碼的幾種方法10-17
MongoDB的PHP驅動(dòng)方法與技巧大全09-08
PHP開(kāi)發(fā)環(huán)境安裝的方法有哪些10-27
php在新浪云中使用imagick的方法07-14