PHP中的構造方法和析構方法


構造方法(_ _construct)

構造方法,是一個特殊的方法:

1,名字是固定的:_ _construct

2,該方法通常都不要我們自己調用,而是在new一個對象的時候會自動調用。

3該方法主要的目的是為了在new一個對象的時候,給該對象設置一些“初始值”(初始化工作);

4,構造方法的參數沒有規定,通常是根據實際的需要來定義,目的是為了對象屬性數據的初始化;

 

先看這種沒有構造方法的情形:

 

可見,這種方式,對對象的屬性的數據值初始化不太方便,我們可以利用構造方法改進為:

 

 

析構方法(_ _destruct):

說明:

1,析構方法是一個特殊的方法,名字為固定的詞:_ _destruct

2,析構方法是在一個對象被“銷毀”的時候會自動被調用的方法——我們無法調用它;

3,析構方法不能帶參數(形參),但方法中也可以使用$this這個詞,代表“當前對象”;

 

 

對象在哪些情況下會被銷毀?

1,如果程序結束,所有變量都會被銷毀,自然,變量所代表的對象也會被銷毀;

 

可見,對象銷毀的順序,默認情況下,跟其創建的順序相反;

 

2,當一個對象沒有任何變量“指向”它的時候,即使程序還沒有結束,也會被銷毀;

 

如下圖所示:

 

另一個情況:

 

圖示如下:

 

再來一個情況:

 

 

圖示如下:

 

 

最后一個情況:

 

圖示如下:

開始,其原理為:

 

賦值之后($o4 = 44),其結果及原理為:

 

原理$o4中存儲的數據是new過來:$o4 = new  C1(“D”);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM