PHP 類和物件(建構函式和析構函式)

2021-08-13 16:07:49 字數 1070 閱讀 7927

1.建構函式 :__construct( )

php 5 允行開發者在乙個類中定義乙個方法作為建構函式。

具有建構函式的類會在每次建立物件時先呼叫此方法,所以非常適合在使

用物件之前做一些初始化工作。

如下例1:

class fun1 }

$tom=new fun1();//結果為"開頭就呼叫建構函式"

注意: 

如果子類中定義了建構函式則不會呼叫其父類的建構函式。

要執行父類的建構函式,需要在子類的建構函式中呼叫parent::__construct( )

如例2所示:

例2:使用新標準的建構函式

class fun1

}class fun2 extends fun1}

$aaa=new fun1(); //"

開頭就呼叫建構函式fun1"

$bbb=new fun2(); //"

開頭就呼叫建構函式fun2 

開頭就呼叫建構函式fun1"

2.析構函式

php 5 引入了析構函式的概念。

析構函式會在到某個物件的所有引用都被刪除或者當物件被顯式銷毀時執行。 

例3.析構函式示例

class fun1

function __destruct()}

$tom=new fun1(); //"開頭就呼叫建構函式fun1"

echo "當tom物件被銷毀時呼叫析構函式"."";

unset($tom); //"當物件被銷毀時呼叫析構函式"

和建構函式一樣,父類的析構函式不會被引擎暗中呼叫。

要執行父類的析構函式,必須在子類的析構函式體中顯式呼叫parent::__destruct()

注意: 

析構函式在指令碼關閉時呼叫,此時所有的頭資訊已經發出。 

試圖在析構函式中丟擲乙個異常會導致致命錯誤。 

類和物件 構造析構函式

a.類和物件 1.關鍵字class表明正宣告乙個類,類中資料成員 屬性 和資料功能 行為 經過封裝,使得使用者通過外部介面訪問。2.類的封裝隱藏了實現細節,同時也保證了資料的安全性。3.只要類的外部介面不變,內部實現細節再怎麼修改,使用類庫的程式也不用修改。4.物件是類型別的變數。5.內聯成員函式 ...

類String的建構函式 析構函式和賦值函式

海康威視16年春季校招程式設計題目 題目 編寫類string的建構函式 析構函式和賦值函式,已知類string的原型為 class string 解答 1 普通建構函式 建構函式 建構函式是一種特殊的方法,主要用來在建立物件時初始化物件,即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的...

PHP 建構函式和析構函式

oop程式設計都有一種稱為建構函式的特殊方法。當建立乙個物件時,物件的建構函式將被呼叫。通常,這將執行一些有用的初始化任務。這一切都是自動化呼叫的。建立物件時觸發了這一方法。與建構函式相對應的是析構函式。析構函式的職能是 銷毀乙個類物件之前被呼叫。這一特性將幫助系統 資源,處理一些即將關閉而必須採取...