向类添加方法

更新: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 类中,您将创建一个返回全名的公共方法和一个计算年龄的私有函数。

试一试!

向您的类添加方法

  1. 打开在上一课中创建的 Persons 项目。如果您未保存它,您必须先返回上一课向类添加属性,完成相应的步骤。

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

  3. 将下面的代码添加到属性过程下面。

    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
    
  4. 修改 Age 属性过程中的代码以使用私有函数。

    ReadOnly Property Age() As String
        Get
            ' Age = My.Computer.Clock.LocalTime.Year - birthDateValue
            Age = CalcAge(birthYearValue)
        End Get
    End Property
    
  5. 在“文件”菜单上,单击“全部保存”以保存所做的工作。

后续步骤

在本课中,您学习了如何向类添加公共方法和私有方法。您可以查看详细了解:使用重载创建同一方法的多个版本,了解有关方法的更多信息,也可以进入下一课,学习如何向类添加事件。

下一课:向类中添加事件

请参见

任务

向类添加属性

其他资源

使用对象编程:使用类