建構函式和析構函式

2022-08-23 07:39:11 字數 1110 閱讀 1675

所謂建構函式,就是在使用這個類來構造它的物件時所使用的乙個函式。

構造方法 __construct(); 注意前面是兩個下劃線。

構造方法的使用時機:每當new乙個物件,就會自動對新new出來的物件發揮作用。

class people

function getmsg()

}$guan=new people("罐罐");

echo "可愛的小熊貓是:";

echo "

";echo $guan->getmsg();

這個建構函式的作用就是對$this->name進行賦值,它被賦值為$n,那麼當我們再次呼叫getmsg函式取出這個屬性的時候,發現取出的值就是「罐罐」了。

執行結果:

可愛的小熊貓是:

罐罐乙個建構函式的目的通常是對這個類的一些屬性進行適當的賦值,它的引數傳遞是$類變數名=new

類名(引數列表);中的引數列表。比如$guan=new

people("罐罐");中的這個「罐罐」就是__construct()中的引數。

析構函式

前面介紹了建構函式__construct,它會在類被例項化的時候呼叫。

下面介紹析構函式__destruct,它在類物件被銷毀的時候呼叫。

物件如何銷毀:

1,顯式的銷毀,unset,賦值為null,都可以。

2,php是指令碼語言,在**執行到最後一行時,所有申請的記憶體都要釋放掉。自然,物件的那段記憶體也要釋放,物件也就被銷毀了。

class people

function

say()

function

__destruct()

}$guan=new

people();

$guan->say();

執行結果顯示:

此時類被初始化

罐罐此時類被析構

這裡明確呼叫的函式只有$guan->say();

而__construct和__destruct函式也得到了執行。

__construct在類被例項化的時候呼叫,而__destruct在類的例項被銷毀的時候時候自動呼叫。

在範例中,在頁面執行完畢,它會自動銷毀建立的物件,此時就會呼叫這個people類的析構函式。

建構函式和析構函式

建構函式沒有返回值,不能被顯示的呼叫。它是在定義物件時由系統自動執行的,而且只執行一次。如果沒有定義建構函式,系統會自動生成乙個建構函式,只是這個建構函式的函式體是空,沒有引數,也不執行任何初始化的操作。帶引數的建構函式 有一種簡練,方便的寫法 建構函式的引數初始化表 box int h,int w...

析構函式和建構函式

每個物件生成的時候都要完成物件的初始化,如設定屬性的初始值。c 中規定每個類都有乙個初始值,如果沒有,系統會產生乙個預設的建構函式。這個建構函式沒有任何引數,不做任何額外的工作。但往往我們會自己寫乙個建構函式,用來進行特殊的初始化工作。這樣的話,編譯器就不會再為其生成預設的建構函式。class 類名...

建構函式和析構函式

stock hot 因為資料部分的訪問狀態是私有的,程式不能訪問資料成員。建立stock的建構函式,由於需要為stock提供3個值,因此應為建構函式提供3個引數值,程式設計師可能指向設定company成員,而其他的設定為0 使用預設引數完成 宣告如下 stock const char co,int ...