C#中方法的重载有什么意义?

请举例说明!thanks!... 请举例说明!thanks! 展开
 我来答
百度网友d841792
推荐于2017-09-09 · TA获得超过320个赞
知道小有建树答主
回答量:217
采纳率:0%
帮助的人:174万
展开全部
在我理解,重载允许你以同样的名称不同的参数来定义多个方法实现,最大的意义就是可以以一种对外统一一批的接口来实现一系列相似的逻辑。通俗的说就是:
1,可以用同样的名称来实现多个相似的逻辑,对外看起来就是一个相对比较统一的接口,比如定义一些列的查询方法,只是传入的参数不同,采用重载,外部调用起来,看到就是一个查询方法的多个重载,比你写多个不同名的方法,看起来要清爽得多。
2,可以将一系列相似的逻辑通过重载的形式进行一步一步的封装,将最终的实现逻辑放到一个最小化的单元内,减少出错概率。即,先写一个最灵活的方法,再重载,逐步降低重载的方法的灵活性,以便适应特定的需求,最终的实现逻辑皆封装在那个最灵活的方法里,这样就能实现逻辑的统一控制。
还是打个比方,有一系列同名的查询方法,都是查询用户:
public List<User> GetUsers(string userName)
{
GetUsers(userName, null, null);
}
public List<User> GetUsers(string userName, int? age, int? genger)
{
string where = ""; // 构造where
GetUsers(where); // 最终还是调用GetUsers(string where)这个方法
}
public List<User> GetUsers(string where)
{
// 最终的查询实现逻辑封装在这个方法里,出了问题只需要改这一个地方
}

试想一下,如果上面的三个方法,写成不同的方法名,并各自实现自己的逻辑,这样一来不好看,二来逻辑被分散到三个方法里,大大增加了出错概率,但其实它们最终是可以由一个实现来控制的。
僵尸002130
2012-04-10 · 超过27用户采纳过TA的回答
知道答主
回答量:108
采纳率:0%
帮助的人:87.4万
展开全部
首先你要了解什么是方法的重载,方法名相同,参数类型不同,参数个数,返回类型可以相同,也可以不同。由上面的定义可以得出我们调用同一个方法名,但是可以实现不同的功能。比如我有两个对象A,B。对象A想调用方法FUN来实现相加的功能,那么我们就写FUN的方法,里面实现了一个加法。而对象B 也想调用方法FUN,但是是要实现减法,这个时候直接调用FUN只能实现加法,怎么办呢?方法的重载,这就派上用场了,我们重载FUN,接受不同的参数和返回值,就可以实现调用同一个方法,但却实现了不同的功能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
宁静又随和丶焰火L
2012-04-09 · 超过20用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:48.9万
展开全部
最有用的是可以按照你自己的意思输出 也就是客户的要求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式