详细了解:使用重载创建同一方法的多个版本

更新:2007 年 11 月

在本课中,您将学习如何向类中添加一个方法的多个版本。

在上一课中,您学习了如何向 Persons 类中添加方法。有时会出现单个方法行不通的情况 — 例如,您可能需要在不同情况下向方法传递不同的数据类型,或者您可能因此要返回不同的格式。

您可以使用一种称为“重载”的方法来创建一个方法的多个版本。如果一个类具有多个同名的方法,但每个方法都有不同的一组参数,则该方法会被重载。

重载

若要创建重载方法,请向您的类中添加两个或多个同名的 Sub 或 Function 过程。在过程声明中,每个过程都必须具有一组不同的参数,否则将会出现错误。

下面显示的方法具有两个重载,一个带有 String 参数,另一个带有 Integer 参数。

Public Sub TestFunction(ByVal input As String)
    MsgBox(input)
End Sub
Public Sub TestFunction(ByVal input As Integer)
    MsgBox(CStr(input))
End Sub

如果您计划从代码中调用此方法并向它传递一个字符串,则将执行第一个重载,并在消息框中显示该字符串;如果向它传递一个数字,则将执行第二个重载,并且会将该数字转换为一个字符串,然后在消息框中显示该字符串。

您可以根据需要创建任意数量的重载,并且每个重载可以包含不同数目的参数。

在 Persons 类中,您将添加一个具有两个重载的方法,用于返回某人的中间名首字母:一个重载只返回首字母,另一个返回首字母和一个紧跟的句点。

试一试!

创建一个重载方法

  1. 打开在上一课中创建的 Persons 项目。如果没有保存该项目,请返回上一课 向类添加方法,然后完成相应的步骤。

  2. 在“解决方案资源管理器”中,选择“Persons.vb”,然后在“视图”菜单上选择“代码”。

  3. 将以下代码添加到现有方法下面。

    Public Function MiddleInitial() As String
        MiddleInitial = Left$(middleNameValue, 1)
    End Function
    
    Public Function MiddleInitial(ByVal period As Boolean) As String
        MiddleInitial = Left$(middleNameValue, 1) & "."
    End Function
    
  4. 在“文件”菜单上,选择“全部保存”以保存所做的工作。

后续步骤

在本课中,您学习了如何创建重载方法。在下一课中,您将学习如何将事件添加到类中。

下一课:向类中添加事件

请参见

任务

向类添加方法

概念

重载过程注意事项

其他资源

使用对象编程:使用类

Visual Basic 指导教程