什么是VB.NET對象生命周期
VB.NET具有面向?qū)ο笳Z言的一切特征,并其還為程序員帶來了一些不一樣的體驗。比如VB.NET對象的一些相關(guān)性能等。在這里,我們會介紹有關(guān)VB.NET對象生命周期的一些內(nèi)容,希望能給大家?guī)硪恍椭?t#
我們應(yīng)當(dāng)怎樣去正確的理解VB.NET對象生命周期呢?在這里就給出了一個恰當(dāng)?shù)慕獯穑?/p>
當(dāng)一個對象被銷毀時,Sub Destruct方法被系統(tǒng)自動調(diào)用,但不能被顯式調(diào)用。.NEt框架能夠在系統(tǒng)自認(rèn)為一個對象并沒有使用價值的時候把該對象銷毀。但是切記,不象Class+Terminate和Sub New那樣,系統(tǒng)將會在上一次引用一個對象之后調(diào)用Sub Destruct這個方法。
1.帶參數(shù)的Sub New的構(gòu)造函數(shù)
用戶可以通過在類的定義的任何地方定義Sub New過程來實現(xiàn)對類的構(gòu)造函數(shù)。構(gòu)造函數(shù)的***行必須是調(diào)用它的基本類的構(gòu)造函數(shù)或者是當(dāng)前類的其他構(gòu)造函數(shù)。用戶必須確認(rèn)基本類是在其他的類的初始化過程之前初始化的。但是令人驚訝的是,即使創(chuàng)建基本類,用戶也必須調(diào)用構(gòu)造函數(shù)Mybase.New,因為所有的類都是最終從一個名為Object的類繼承而來的。在調(diào)用它的父類的構(gòu)造函數(shù)以后,用戶可以在Sub New過程中加入一些另外的初始化的代碼。Sub New可以支持帶參數(shù)的構(gòu)造函數(shù),這些參數(shù)通過調(diào)用構(gòu)造函數(shù)時,從過程中傳入的,例如:
- Dim t as truck=New Truck(18)
2.使用Sub Destruct作為析構(gòu)函數(shù)
為了建立一個類的析構(gòu)函數(shù),用戶可以建立一個名為Sub Destruct的過程,并且可以入在類的定義的任何地方,在析構(gòu)函數(shù)中寫入的代碼可以用來釋放其他的對象,關(guān)閉一個文件或者做其他的結(jié)束工作。下面的例子說明了怎樣通過一個帶參數(shù)的構(gòu)造函數(shù)建立一個類,并且初始化一個屬性。
- 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
以上就是我們?yōu)榇蠹医榻B的VB.NET對象生命周期的相關(guān)概念。