构造函数和析构函数控制对象的创建和毁坏。
若要为类创建构造函数,请在类定义的任何位置创建名为 Sub New 的过程。若要创建参数化构造函数,请像为其他任何过程指定参数那样为 Sub New 指定参数的名称和数据类型,如下面的代码所示:

Sub New()Sub New(ByVal sString As String)
构造函数频繁地重载,如下面的代码所示:


当定义从另一个类派生的类时,构造函数的第一行必须是对基类构造函数的调用,除非基类有一个可访问的无参数构造函数。例如,对包含以上构造函数的基类的调用将为 MyBase.New(sString)
。另外,MyBase.New
是可选的,Visual Basic .NET 运行库会隐式调用它。
在编写调用父对象的构造函数的代码后,可以向 Sub New 过程添加任何附加初始化代码。当 Sub New 作为参数化构造函数调用时可以接受参数。这些参数从调用构造函数的过程传递(例如 Dim AnObject As New ThisClass(X)
)。
下面的代码实例展示如何使用 Dispose 和 Finalize 释放资源:














































下面的示例说明使用 Dispose 析构函数的一个通用设计模式:














下一个示例使用参数化构造函数创建一个对象,并在不再需要该对象时调用析构函数:





































































当运行此示例时,ThisClass
类调用 BaseClass
类的 Sub New 构造函数。在基类中的构造函数完成以后,ThisClass
类运行 Sub New 中剩余的语句,这些语句初始化 ThisProperty
属性的值。
当不再需要该类时,在 ThisClass
中调用 Dispose 析构函数。
如果最初是从窗体创建 ThisClass
的实例,则在关闭该窗体之前似乎什么都没有发生。Finalize 析构函数此时在 ThisClass
类中运行,最后将在 BaseClass
类中运行。