VB.NET具备面向对象语言的一切特征,并其还为程序员带来了一些不同的体验。好比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
以上就是咱们为你们介绍的VB.NET对象生命周期的相关概念。程序员