- 相關(guān)推薦
php中的構(gòu)造方法與析構(gòu)方法
PHP 獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁。以下是為大家分享的php中的構(gòu)造方法與析構(gòu)方法,供大家參考借鑒,歡迎瀏覽!
構(gòu)造方法是類中的一個(gè)特殊方法。當(dāng)使用 new 操作符創(chuàng)建一個(gè)類的實(shí)例時(shí),構(gòu)造方法將會(huì)自動(dòng)調(diào)用,其名稱必須是 __construct() 。所以通常用它執(zhí)行一些有用的初始化任務(wù)。該方法無返回值。
如果子類中定義了構(gòu)造函數(shù)則不會(huì)暗中調(diào)用其父類的構(gòu)造函數(shù)。要執(zhí)行父類的構(gòu)造函數(shù),需要在子類的構(gòu)造函數(shù)中調(diào)用 parent::__construct()。
與構(gòu)造方法對(duì)應(yīng)的就是析構(gòu)方法,析構(gòu)方法會(huì)在某個(gè)對(duì)象的所有引用都被刪除或者當(dāng)對(duì)象被顯式銷毀之前執(zhí)行的一些操作或者功能。析構(gòu)函數(shù)不能帶有任何參數(shù),其名稱必須是 __destruct() 。
同樣,如果子類中定義了析構(gòu)函數(shù)則不會(huì)暗中調(diào)用其父類的析構(gòu)函數(shù)。要執(zhí)行父類的析構(gòu)函數(shù),需要在子類的析構(gòu)函數(shù)中調(diào)用 parent::__destruct()。
注意:在析構(gòu)函數(shù)中拋出一個(gè)異常會(huì)導(dǎo)致致命錯(cuò)誤。
<?php
class Construct{
protected $a;
protected $b;
function __construct($a,$b){ //定義構(gòu)造函數(shù)
$this->a=$a;
$this->b=$b;
}
function __destruct(){ //重新定義為初始值
$result=0;
echo '恢復(fù)乘積的初始值:'.$result;
}
}
class son extends construct{
private $c;
function __construct($c){
parent::__construct(6,10); //調(diào)用父類的構(gòu)造方法,使用方法:parent::__construct(); 有參數(shù)加參數(shù)
$this->c=$c;
}
function show(){
$result=$this->a*$this->b*$this->c;
print 'abc的乘積是:'.$result.' ';
}
function __destruct(){
parent::__destruct(); //調(diào)用父類的析構(gòu)函數(shù),使用方式:parent::__destruct();
}
}
$test=new son(12); //實(shí)例化對(duì)象
$test->show(); //abc的乘積是:720 恢復(fù)乘積的初始值:0
?>
【php中的構(gòu)造方法與析構(gòu)方法】相關(guān)文章:
PHP中l(wèi)ist的方法07-05
PHP中的魔術(shù)方法10-20
PHP中的魔術(shù)方法詳解08-14
php中數(shù)組的定義方法08-12
PHP中命名空間的方法05-07
php中cookie的使用方法09-27
PHP中l(wèi)ist方法用法示例10-13