演练:定义类 (Visual Basic)
此演练演示如何定义类,然后使用这些类创建对象。 同时还说明如何为新类添加属性和方法,并演示如何初始化对象。
备注
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。
定义类
单击**“文件”菜单上的“新建项目”,创建一个项目。 此时将出现“新建项目”**对话框。
从 Visual Basic 项目模板列表中选择“Windows 应用程序”,以显示新项目。
在**“项目”菜单中单击“添加类”,将一个新类添加到项目中。 将显示“添加新项”**对话框。
选择**“类”**模板。
给新类 UserNameInfo.vb 命名,然后单击**“添加”**以显示新类的代码。
Public Class UserNameInfo End Class
备注
可以使用 Visual Basic“代码编辑器”,在新类的名称之前键入 Class 关键字,将类添加到启动窗体中。“代码编辑器”会提供相应的 End Class 语句。
在 Class 和 End Class 语句之间添加以下代码,为类定义一个私有字段:
Private userNameValue As String
将字段声明为 Private 意味着该字段只能在该类内使用。 使用能够提供更多访问权限的访问修饰符(如 Public),便可以从类的外部访问这些字段。 有关更多信息,请参见 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
通过添加以下代码为类定义方法:
Public Sub Capitalize() ' Capitalize the value of the property. userNameValue = UCase(userNameValue) End Sub
通过添加名为 Sub New 的过程为新类定义参数化的构造函数:
Public Sub New(ByVal UserName As String) ' Set the property value. Me.UserName = UserName End Sub
当创建基于此类的对象时,会自动调用 Sub New 构造函数。 此构造函数设置保存用户名的字段值。
创建测试类的按钮
在**“解决方案资源管理器”中右击启动窗体的名称,然后单击“视图设计器”**,从而将启动窗体更改为设计模式。 默认情况下,“Windows 应用程序”项目的启动窗体的名称为 Form1.vb。 主窗体随即出现。
在主窗体中添加一个按钮,然后双击该按钮显示 Button1_Click 事件处理程序的代码。 添加下列代码以调用测试过程:
' 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)
运行应用程序
按 F5 运行应用程序。 单击窗体上的按钮以调用测试过程。 它会显示一条消息,说明原来的 UserName 是“MOORE, BOBBY”,因为该过程调用了对象的 Capitalize 方法。
单击**“确定”**关闭该消息框。 Button1 Click 过程会更改 UserName 属性的值,并显示一条消息,说明 UserName 的新值为“Worden, Joe”。