一.类的方法
类的方法就是在该类中声明的 Sub 或 Function 过程。例如,Account 类可能有一个名为 Recalculate 的 Sub 过程,此过程会更新余额,或者有一个CurrentBalance Function 过程来返回最新的余额,代码如下:
Public Sub Recalculate()
' add code to recalculate the account.
End Sub
Public Function CurrentBalance(ByVal AccountNumber As Integer) As Double
' add code to return a balance.
End Function
虽然大多数类方法是公共的,您可能还想添加一些只能由该类自身使用的方法。例如,Persons 类可能有计算人年龄的自己的函数。如果将此函数声明为 Private,则从类外部就无法看到或调用它。代码如下:
Private Function CalcAge(ByVal year As Integer) As Integer
CalcAge = My.Computer.Clock.LocalTime.Year - year
End Function
您以后可以更改计算 CalcAge 值的代码且不需更改使用此方法的任何代码此方法仍然正常工作。隐藏执行此方法的代码称作“封装”。
二.重载
有时会出现单个方法行不通的情况 ,例如可能需要在不同情况下向方法传递不同的数据类型,或者您可能因此要返回不同的格式。您可以使用一种称为“重载”的方法来创建一个方法的多个版本。如果一个类具有多个同名的方法,但每个方法都有不同的一组参数,则该方法会被重载。若要创建重载方法,请向您的类中添加两个或多个同名的 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
如果您计划从代码中调用此方法并向它传递一个字符串,则将执行第一个重载,并在消息框中显示该字符串;如果向它传递一个数字,则将执行第二个重载,并且会将该数字转换为一个字符串,然后在消息框中显示该字符串。您可以根据需要创建任意数量的重载,并且每个重载可以包含不同数目的参数。