php 5 引入了析構函式的概念,這類似於其它物件導向的語言,如 c++。析構函式會在到某個物件的所有引用都被刪除或者當物件被顯式銷毀時執行。
1.析構函式
理解析構函式:
1.1 php5 引用的技術;
1.2 某個物件的引用都被刪除
(1):使用unset(物件名),將物件刪除;
(2): $物件名 = null;
(3): $物件名 = 『abc』;
1.3 顯示銷毀
上面的三種方式,都是顯示銷毀,所有的銷毀方式都是程式設計師主動呼叫銷毀;
如果程式設計師不去顯示銷毀物件,那麼在程式執行完成後系統將會自動銷毀物件,這樣的方式就是隱式銷毀;
1.4 析構函式的作用就是釋放物件建立資源(資料庫鏈結,檔案控制代碼,繪圖控制代碼);
1.5 快速入門
2.說明
2.1 析構函式修飾符都是public
2.2 __destuct是關鍵字 不能修改;
2.3 析構函式沒有形參
2.4 析構函式是系統呼叫;
2.5析構函式在什麼情況下會被系統呼叫
1) php 檔案執行完的時候;
2) 某個檔案被刪除的時候;
<?php
header("content-type:text/html;charset=utf-8");
class animal
public function skill()
public function __destruct()
}###
###### 先銷毀的是$cat 物件 在銷毀的是$dog; 涉及的是棧 先進後出
$dog = new animal("小狗","3","汪汪汪");
$dog->skill();
echo "";
$cat = new animal("小貓","1","喵喵喵");
$cat->skill();
echo "";
C 析構函式 虛析構函式
1.為什麼要定義虛析構函式?如果有乙個帶有虛函式功能的類,則它需要乙個虛析構函式,原因如下 1 如果乙個類有虛函式功能,它經常作為乙個基類使用 2 如果它是乙個基類,它的派生類經常使用new來分配 3 如果乙個派生類物件使用new來分配,並且通過乙個指向它的基類的指標來控制,那麼它經常通過乙個指向它...
建構函式 析構函式 虛析構函式
說析構函式之前,先說下建構函式。建構函式用來完成對物件的一系列初始化操作,主要作用有 1.給建立的物件建立乙個識別符號 2.為物件資料成員開闢記憶體空間 3.完成物件資料成員的初始化 當並未顯示的定義建構函式時,會生成乙個預設的建構函式,預設建構函式不能完成物件資料成員的初始化,只能給物件建立一識別...
C 析構函式和虛析構函式。
析構函式如果不是虛的話,基類的析構函式將不會被呼叫。多型時,也就是派生類被基類指標所指,或者被基類別名 虛析構函式,被呼叫時,其自身的析構函式和基類的析構函式都將會被呼叫。非虛的時候,不進行多型,只有基類的會被呼叫。純虛析構函式 定義的時候除了加 0 還需要給出函式的實現。因為當遞迴的呼叫析構函式時...