vb.net對象的樹立和銷毀:對象的生命周期。本站提示廣大學習愛好者:(vb.net對象的樹立和銷毀:對象的生命周期)文章只能為提供參考,不一定能成為您想要的結果。以下是vb.net對象的樹立和銷毀:對象的生命周期正文
當一個對象被銷毀時,Sub Destruct辦法被零碎自動調用,但不能被顯式調用。.NEt框架可以在零碎自以為一個對象並沒有運用價值的時分把該對象銷毀。但是切記,不象Class+Terminate和Sub New那樣,零碎將會在上一次援用一個對象之後調用Sub Destruct這個辦法。
1.帶參數的Sub New的結構函數
用戶可以經過在類的定義的任何中央定義Sub New進程來完成對類的結構函數。結構函數的第一行必需是調用它的根本類的結構函數或許是以後類的其他結構函數。用戶必需確認根本類是在其他的類的初始化進程之前初始化的。但是令人詫異的是,即便創立根本類,用戶也必需調用結構函數Mybase.New,由於一切的類都是最終從一個名為Object的類承繼而來的。在調用它的父類的結構函數當前,用戶可以在Sub New進程中參加一些另外的初始化的代碼。Sub New可以支持帶參數的結構函數,這些參數經過調用結構函數時,從進程中傳入的,例如:
Dim t as truck=New Truck(18)
2.運用Sub Destruct作為析構函數
為了樹立一個類的析構函數,用戶可以樹立一個名為Sub Destruct的進程,並且可以入在類的定義的任何中央,在析構函數中寫入的代碼可以用來釋放其他的對象,封閉一個文件或許做其他的完畢任務。上面的例子闡明了怎樣經過一個帶參數的結構函數樹立一個類,並且初始化一個屬性。
Imports System Namespace TruckNamespace Module Module1 Class Truck Private iWheels as Integer Sub New(initialWheels as integer) MyBase.New iWheels=initialWheels End Sub Sub Destruct() 'Place cleanup code here End Sub Property Wheels as Integer Get Wheels=iWheels End Get Set iWheels=Value End Set End Property End Class shared sub Main() Dim t as truck=New Truck(18) Console.WriteLine("The truck has"&_ t.wheels&"wheels when initialized") End Sub End Module