先来说说VB.NET 类的概念,类是具有相同属性和动作的事物的抽象,是面向对象编程的最基本和最核心的概念。类封装了对象的静态特征(即属性)和动态行为特征(即操作或称为方法)。此文演示VB.NET类定义,然后使用这些类创建对象。同时还说明如何为新类添加属性和方法,并演示如何初始化对象。
一.VB.NET类定义
1.单击“文件”菜单上的“新建项目”,创建一个项目。“新建项目”对话框随即出现。
2.从 Visual Basic 项目模板列表中选择“Windows 应用程序”,以显示新项目。
3.在“项目”菜单中单击“添加类”,将一个新类添加到项目中。出现“添加新项”对话框。
4.选择“类”模板。
5.给新类 UserNameInfo.vb 命名,然后单击“添加”以显示新类的代码。
- Visual Basic 复制代码
- Public Class UserNameInfo
- End Class
注意可以使用 Visual Basic“代码编辑器”,在新类的名称之前键入 Class 关键字,将类添加到启动窗体中。“代码编辑器”会提供相应的 End Class 语句。
6.在 Class 和 End Class 语句之间加入以下代码,为类定义私有字段:
- Visual Basic 复制代码
- Private userNameValue As String
将字段声明为 Private 意味着该字段只能在该类内使用。可以通过使用提供更大访问权限的访问修饰符(如 Public)来使字段得以从类的外部进行访问。有关更多信息,请参见 Visual Basic 中的访问级别。
7.通过添加以下代码为类定义属性:
- Visual Basic 复制代码
- Public Property UserName() As String
- Get
- ' Gets the property value.
- Return userNameValue
- End Get
- Set(ByVal Value As String)
- ' Sets the property value.
- userNameValue = Value
- End Set
- End Property
8.通过添加以下代码为类定义方法:
- Visual Basic 复制代码
- Public Sub Capitalize()'
- Capitalize the value of the property.
- userNameValue = UCase(userNameValue)
- End Sub
9.通过添加名为 Sub New 的过程为新类定义参数化的构造函数:
- Visual Basic 复制代码
- Public Sub New(ByVal UserName As String)
- ' Set the property value.
- Me.UserName = UserName
- End Sub
当创建基于此类的对象时,会自动调用 Sub New 构造函数。此构造函数设置保存用户名的字段值。
二.创建测试类的按钮
1.右击“解决方案资源管理器”中启动窗体的名称,将启动窗体更改为设计模式,然后单击“视图设计器”。默认情况下,“Windows 应用程序”项目的启动窗体的名称为 Form1.vb。主窗体随即出现。
2.在主窗体中添加一个按钮,然后双击该按钮显示 Button1_Click 事件处理程序的代码。添加下列代码以调用测试过程:
- Visual Basic 复制代码
- ' Create an instance of the class.
- Dim user As New UserNameInfo("Moore, Bobby")
- ' Capitalize the value of the property.
- user.Capitalize()
- ' Display the value of the property.
- MsgBox("The original UserName is: " & user.UserName)
- ' Change the value of the property.
- user.UserName = "Worden, Joe"
- ' Redisplay the value of the property.
- MsgBox("The new UserName is: " & user.UserName)
三.VB.NET类定义运行应用程序
按 F5 运行应用程序。单击窗体上的按钮以调用测试过程。它会显示一则消息,说明原来的 UserName 是“MOORE, BOBBY”,因为该过程调用了对象的 Capitalize 方法。
单击“确定”关闭该消息框。Button1 Click 过程会更改 UserName 属性的值,并显示一则消息,说明 UserName 的新值为“Worden, Joe”。
【编辑推荐】