構造方法(_ _construct):
構造方法,是一個特殊的方法:
1,名字是固定的:_ _construct;
2,該方法通常都不要我們自己調用,而是在new一個對象的時候會自動調用。
3,該方法主要的目的是為了在new一個對象的時候,給該對象設置一些“初始值”(初始化工作);
4,構造方法的參數沒有規定,通常是根據實際的需要來定義,目的是為了對象屬性數據的初始化;
先看這種沒有構造方法的情形:
可見,這種方式,對對象的屬性的數據值初始化不太方便,我們可以利用構造方法改進為:
析構方法(_ _destruct):
說明:
1,析構方法是一個特殊的方法,名字為固定的詞:_ _destruct
2,析構方法是在一個對象被“銷毀”的時候會自動被調用的方法——我們無法調用它;
3,析構方法不能帶參數(形參),但方法中也可以使用$this這個詞,代表“當前對象”;
對象在哪些情況下會被銷毀?
1,如果程序結束,所有變量都會被銷毀,自然,變量所代表的對象也會被銷毀;
可見,對象銷毀的順序,默認情況下,跟其創建的順序相反;
2,當一個對象沒有任何變量“指向”它的時候,即使程序還沒有結束,也會被銷毀;
如下圖所示:
另一個情況:
圖示如下:
再來一個情況:
圖示如下:
最后一個情況:
圖示如下:
開始,其原理為:
賦值之后($o4 = 44),其結果及原理為:
原理$o4中存儲的數據是new過來:$o4 = new C1(“D”);