详细了解:使用重载创建同一方法的多个版本
更新: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 类中,您将添加一个具有两个重载的方法,用于返回某人的中间名首字母:一个重载只返回首字母,另一个返回首字母和一个紧跟的句点。
试一试!
创建一个重载方法
打开在上一课中创建的 Persons 项目。如果没有保存该项目,请返回上一课 向类添加方法,然后完成相应的步骤。
在“解决方案资源管理器”中,选择“Persons.vb”,然后在“视图”菜单上选择“代码”。
将以下代码添加到现有方法下面。
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
在“文件”菜单上,选择“全部保存”以保存所做的工作。
后续步骤
在本课中,您学习了如何创建重载方法。在下一课中,您将学习如何将事件添加到类中。
下一课:向类中添加事件