Visual Basic 使用对象编程:使用类(四)—— 向类添加方法
2008-07-23 09:34
225 查看
一.类的方法<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
类的方法就是在该类中声明的 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
如果您计划从代码中调用此方法并向它传递一个字符串,则将执行第一个重载,并在消息框中显示该字符串;如果向它传递一个数字,则将执行第二个重载,并且会将该数字转换为一个字符串,然后在消息框中显示该字符串。您可以根据需要创建任意数量的重载,并且每个重载可以包含不同数目的参数。
类的方法就是在该类中声明的 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
如果您计划从代码中调用此方法并向它传递一个字符串,则将执行第一个重载,并在消息框中显示该字符串;如果向它传递一个数字,则将执行第二个重载,并且会将该数字转换为一个字符串,然后在消息框中显示该字符串。您可以根据需要创建任意数量的重载,并且每个重载可以包含不同数目的参数。
相关文章推荐
- Visual Basic 使用对象编程:使用类(三)—— 向类中添加属性
- select 下拉菜单Option对象使用add(elements,index)方法动态添加
- 使用ArrayList集合,对其添加100个不同的元素: 1.使用add()方法将元素添加到ArrayList集合对象中; 2.调用集合的iterator()方法获得Iterator对象,并调用Ite
- Jquery中使用$append出现添加两次及Jquery对象多次使用的方法
- Visual Basic 使用对象编程:使用类(一)—— 什么是类?
- 使用DateAdd方法向指定日期添加一段时间间隔,使用TimeSpan对象获取时间间隔
- 优雅编程之这样使用对象通用方法,你就“正常”了(三十四)
- 在创建Vector对象的时候,添加了几个元素,然后使用get(int index)方法,结果显示出错了;
- select 下拉菜单Option对象使用add(elements,index)方法动态添加
- 对象的创建、使用及向String对象添加方法(prototype的使用)
- 对象内置方法,继承,instanceof添加上(安全使用)
- 使用ArrayList集合,对其添加100个不同的元素: 1.使用add()方法将元素添加到ArrayList集合对象中; 2.调用集合的iterator()方法获得Iterator对象,并调用Ite
- List使用add方法添加对象问题
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- jQuery插件记录 <三>使用$.fn添加jQuery对象方法中传递options给定默认值
- Javascript prototype属性使用(给内置对象添加新的方法,方便调用)
- 使用扩展方法和接口给对象添加“重置状态”功能
- 对象使用Init方法重新初始化和描述性编程识别对象
- 11_5_3给people添加GetOldest()方法,使用上面定义的重载运算符,返回一个Age最大的对象数组
- 使用add方法进行按钮等对象的添加