演练:定义类 (Visual Basic)

此演练演示如何定义类,然后使用这些类创建对象。 同时还说明如何为新类添加属性和方法,并演示如何初始化对象。

备注

以下说明中的某些 Visual Studio 用户界面元素在你计算机上的名称或显示位置可能有所不同。这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。有关详细信息,请参阅 在 Visual Studio 中自定义开发设置

定义类

  1. 单击**“文件”菜单上的“新建项目”,创建一个项目。 此时将出现“新建项目”**对话框。

  2. 从 Visual Basic 项目模板列表中选择“Windows 应用程序”,以显示新项目。

  3. 在**“项目”菜单中单击“添加类”,将一个新类添加到项目中。 将显示“添加新项”**对话框。

  4. 选择**“类”**模板。

  5. 给新类 UserNameInfo.vb 命名,然后单击**“添加”**以显示新类的代码。

    Public Class UserNameInfo
    End Class
    

    备注

    可以使用 Visual Basic“代码编辑器”,在新类的名称之前键入 Class 关键字,将类添加到启动窗体中。“代码编辑器”会提供相应的 End Class 语句。

  6. 在 Class 和 End Class 语句之间添加以下代码,为类定义一个私有字段:

    Private userNameValue As String
    

    将字段声明为 Private 意味着该字段只能在该类内使用。 使用能够提供更多访问权限的访问修饰符(如 Public),便可以从类的外部访问这些字段。 有关更多信息,请参见 Visual Basic 中的访问级别

  7. 通过添加以下代码为类定义属性:

    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. 通过添加以下代码为类定义方法:

    Public Sub Capitalize()
        ' Capitalize the value of the property.
        userNameValue = UCase(userNameValue)
    End Sub
    
  9. 通过添加名为 Sub New 的过程为新类定义参数化的构造函数:

    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 事件处理程序的代码。 添加下列代码以调用测试过程:

    ' 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)
    

运行应用程序

  1. 按 F5 运行应用程序。 单击窗体上的按钮以调用测试过程。 它会显示一条消息,说明原来的 UserName 是“MOORE, BOBBY”,因为该过程调用了对象的 Capitalize 方法。

  2. 单击**“确定”**关闭该消息框。 Button1 Click 过程会更改 UserName 属性的值,并显示一条消息,说明 UserName 的新值为“Worden, Joe”。

请参见

概念

面向对象的编程(C# 和 Visual Basic)

其他资源

Visual Basic 中的对象和类