更新:2007 年 11 月
在此课程中,您会学习如何向类添加方法以便它能执行操作。
在前面的课程 详细了解:了解属性、方法和事件 中,您学了大多数对象都具有它们可以执行的操作,这些操作称作方法。您在 对实际对象进行建模:创建您的第一个类 一课中创建的 Persons 类表示一个人。有许多操作均可由人去执行,对于 Persons 类,这些操作可以表示为类方法。
类方法
类的方法就是在该类中声明的 Sub 或 Function 过程。例如,Account 类可能有一个名为 Recalculate 的 Sub 过程,此过程会更新余额,或者有一个 CurrentBalanceFunction 过程来返回最新的余额。声明这些方法的代码可能与如下代码类似:
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 值的代码且不需更改使用此方法的任何代码此方法仍然正常工作。隐藏执行此方法的代码称作“封装”。
在 Persons 类中,您将创建一个返回全名的公共方法和一个计算年龄的私有函数。
试一试!
向您的类添加方法
- 打开在上一课中创建的 Persons 项目。如果您未保存它,您必须先返回上一课向类添加属性,完成相应的步骤。 
- 在“解决方案资源管理器”中,选择“Persons.vb”,然后在“视图”菜单上单击“代码”。 
- 将下面的代码添加到属性过程下面。 - Public Function FullName() As String If middleNameValue <> "" Then FullName = firstNameValue & " " & middleNameValue & " " _ & lastNameValue Else FullName = firstNameValue & " " & lastNameValue End If End Function- Private Function CalcAge(ByVal year As Integer) As Integer CalcAge = My.Computer.Clock.LocalTime.Year - year End Function
- 修改 Age 属性过程中的代码以使用私有函数。 - ReadOnly Property Age() As String Get ' Age = My.Computer.Clock.LocalTime.Year - birthDateValue Age = CalcAge(birthYearValue) End Get End Property
- 在“文件”菜单上,单击“全部保存”以保存所做的工作。 
后续步骤
在本课中,您学习了如何向类添加公共方法和私有方法。您可以查看详细了解:使用重载创建同一方法的多个版本,了解有关方法的更多信息,也可以进入下一课,学习如何向类添加事件。
下一课:向类中添加事件。