當我們不在使用某個物件時,必須將這個物件從記憶體空間中刪除,這樣可以避免不必要的資料浪費記憶體空間。
object pascal類的物件構造方法必須以保留字"
constructor」取代"function"或"procedure";物件的析構必須使用保留字"
destructor"。
由於類的宣告分為兩種:繼承delphi內建類的class類 和 完全自定義的object類,因此類的構造和析構也分開來談。
1、繼承delphi內建類的class類 的構造和析構
1.1 構造方法create
通常這種類的預設構造方法為是create方法。
使用這種方法構造的物件(變數)的值,是該物件實體資料所在的記憶體位址。
換而言之,class類的物件,其實是一種指標。我們並不需要使用指標的符號,直接寫出該物件的成員名稱,就可以根據位址操作其成員的值。
1.2 析構方法
預設的構造方法是destroy,推薦使用的是free。
使用free方法,技能刪除這個物件,還能刪除物件實體所佔的記憶體空間。
2、完全自定義類object類 的構造和析構
這種類的構造和析構,完全由程式設計師自己編寫。
類的建構函式與析構
1.把物件的初始化工作放在建構函式中,把清除工作放在析構函式中。當物件被建立時,建構函式被自動執行。當物件消亡時,析構函式被自動執行。這下就不用擔心忘了物件的初始化和清除工作。2.建構函式 析構函式與類同名,由於析構函式的目的與建構函式的相反,就加字首 以示區別。3.建構函式與析構函式都沒有返回值型...
類的構造與析構函式
每個類都有建構函式和析構函式。即使使用者建立的類,系統也會為該類建立預設的建構函式。建構函式不能是虛函式。在物件導向語言裡,這兩個函式特別重要。物件導向的語言裡,其成員變數和函式都屬於物件 除了靜態全域性變數和靜態函式 我們知道類不能夠直接在定義時對其成員變數進行初始化,這部分工作一部分統一放到建構...
C 類構造與析構順序
1.虛基類建構函式被呼叫,以繼承順序從左到右 如果存在虛基類 2.上一層非虛基類建構函式被呼叫,以繼承順序從左到右而非成員初值列上寫的順序 顯示呼叫或缺省構造 如果存在非虛基類 3.虛表指標指向適當虛表 如果類存在虛表指標 4.類資料成員初始化,以宣告的順序而非成員初值列上寫的順序。5.執行使用者所...