演练:定义类
更新:2007 年 11 月
此演练演示如何定义类,然后使用这些类创建对象。同时还说明如何为新类添加属性和方法,并演示如何初始化对象。
说明: |
---|
显示的对话框和菜单命令可能会与“帮助”中的描述有所不同,具体取决于您现用的设置或版本。若要更改设置,请单击“工具”菜单上的“导入和导出设置”。有关更多信息,请参见 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”。