php中的構造方法與析構方法大綱

來源:文萃谷 2.97W

PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。以下是為大家分享的php中的構造方法與析構方法,供大家參考借鑑,歡迎瀏覽!

php中的構造方法與析構方法大綱

構造方法是類中的一個特殊方法。當使用 new 操作符創建一個類的實例時,構造方法將會自動調用,其名稱必須是 __construct() 。所以通常用它執行一些有用的初始化任務。該方法無返回值。

如果子類中定義了構造函數則不會暗中調用其父類的構造函數。要執行父類的構造函數,需要在子類的'構造函數中調用 parent::__construct()。

與構造方法對應的就是析構方法,析構方法會在某個對象的所有引用都被刪除或者當對象被顯式銷燬之前執行的一些操作或者功能。析構函數不能帶有任何參數,其名稱必須是 __destruct() 。

同樣,如果子類中定義了析構函數則不會暗中調用其父類的析構函數。要執行父類的析構函數,需要在子類的析構函數中調用 parent::__destruct()。

注意:在析構函數中拋出一個異常會導致致命錯誤。

<?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); //調用父類的構造方法,使用方法:parent::__construct(); 有參數加參數

$this->c=$c;

}

function show(){

$result=$this->a*$this->b*$this->c;

print 'abc的乘積是:'.$result.'&nbsp;';

}

function __destruct(){

parent::__destruct(); //調用父類的析構函數,使用方式:parent::__destruct();

}

}

$test=new son(12); //實例化對象

$test->show(); //abc的乘積是:720 恢復乘積的初始值:0

?>

熱門標籤