函数重载
函数重载的内容不是很多,我也就用过其中一种,其他的或者深奥些的,还没用过,但是大概看了一下,都大同小异吧,用一句话说就是:同一个名称的东西却有着不同的用途。 就拿我比较熟悉的VB.NET来说吧,当你调用一个系统的函数时,如果他是一个重载了的函数,你会看到参数的提示行有2个三角,如下图:
点击三角形就会翻页,而且显示数量或类型或数量和类型等不同的参数,但是你会发现函数的名字(SelectRechargeRecord())没有改变,当你按照其中的参数类型或个数把参数传进去之后,这个函数执行的就很可能不是同一种功能 那么这样有什么好处呢? 假如你数据库中有用户表T_UserInfo,你登陆的时候,用一个查询的函数(Iuser.QueryUserInfo(UserName))来查询用户名和密码是否正确,此时你只要把用户名传进去就可以查出一行用户名和密码的记录。然后你的系统还有一个功能是把所有用户信息都查出来,同样是查询,同样是用户信息,你是否会另起一个函数名呢?如果以后还有更多中方式的查询,那你就要起很多个不同的但却是用来查询用户信息的名称的函数了?这样不太好吧,要记的太多了,有时眼花缭乱的。 那么函数重载就能解决这个问题。
Overloads Function SelectRechargeRecord(ByVal FieldName As String,ByVal SelectContent As String) Overloads Function SelectRechargeRecord(ByVal StartDate As Date,ByVal EndDate As Date) Overloads Function SelectRechargeRecord() 这几个函数名称都一样,但是参数类型或者个数都不一样,第一个是通过字段名和查询内容去查询,第二个是通过起始日期和终止日期去查询,第三个是什么参数都没有就查整张表呗。但是前面一定要加个关键字Overloads就行。至于这三个函数里面的代码,就依据你参数来写了。 关于函数的重载还有很多种,刚才是对方法的重载,你还可以对运算符重载,其实也跟重载方法一样,你把方法重载了,方法名称一样但却因为参数不一样而执行不同的功能,运算符也是同样的运算符却有着不同的功能,就像你看见的1+1=2,重载运算符+之后,根据你的代码,它可能1+1=10或者其他。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 用函数式的 Swift 实现图片转字符画的功能
- IAR调试时出现“The stack 'CSTACK' is filled to
- c – 虚函数的显式覆盖
- ruby-on-rails – 在嵌入代码后第一次加载时嵌入式视频无法
- 单元测试 – 在进行单元测试时,100%代码覆盖是一件很好的事
- c# – 如何使用Entity Framework Core运行迁移SQL脚本
- nutch2.3.1 nutch-site.xml配置
- Oracle数据库中sys和system帐户之间有什么区别?
- Flex3/4 皮肤的本质不同:一个是背景,一个是可视化组件
- g_bus_get_sync返回NULL但dbus_g_bus_get_private有效