日期:2014-05-17  浏览次数:20996 次

C#方法重载概念
我把书上关于方法重载的概念看了好多遍,还有点混乱,
请那位大虾给我几条典型的判断理由!
谢谢哦

------解决方案--------------------
相当于传送默认值....
方法返回方法.....


举个例子

不使用方法重载


public string GetString(string strValues)
{
if(strValues.Length==0)
{
return "今天我遇到无名了。。。。";
}
return "Hello,"+strValues+"兄";
}

使用重载就是

public string GetString()
{
return GetString("我是无名。。。你是?");
}
public string GetString(string strValues)
{
return strValues;
}
------解决方案--------------------
了解以下几个关键字的用法,与区别:

virtual
override
new





------解决方案--------------------
学习
------解决方案--------------------
重载是指方法名称相同, 签名不一致(参数个数或类型不同)。

比如下面的方法都叫ToString,但是允许同时存在。编译器根据实据调用时的类型选择相对应的方法原型
Convert.ToString (Boolean) ;
Convert.ToString (Byte) ;
Convert.ToString (Char) ;
Convert.ToString (DateTime) ;
Convert.ToString (Int32) ;
Convert.ToString (DateTime, IFormatProvider) ;
------解决方案--------------------
探讨
相当于传送默认值....
方法返回方法.....


举个例子

不使用方法重载


public string GetString(string strValues)
{
if(strValues.Length==0)
{
return "今天我遇到无名了。。。。";
}
return "Hello,"+strValues+"兄";
}

使用重载就是

public string GetString()
{
return GetString("我是无名。。。你是?");
}
public string GetString(string strValues)
{
return strVal…

------解决方案--------------------
哈哈,楼上几位都解释很清楚了,我也不能在说什么了
------解决方案--------------------
重载已经是面向对象里面最简单的概念了。

------解决方案--------------------
路过接分!
------解决方案--------------------
方法重载说白了就是在一个类中定义两个或多个同名的方法,调用方法时通过不同的方法参数或返回值来判断执行哪个方法
要跟方法重写区分开,方法重写是指子类中的同名方法覆盖父类中的同名方法,在类中执行同名的父类方法时,调用的是子类重写后的方法