---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com
为什么要引入重载方法
问题描述:
在面向对象编程中有这样一种方法:方法名称相同,但是返回值类型,参数个数,或者参数类型不同,这样的方法称为重载方法。
那么,C#中为什么要引入重载方法?
解答:
重载(overload)是指定义多个名称相同的方法,通过定义不同的输入参数或者返回值类型来区分这些方法。在调用时,CLR会根据
不同的参数样式来选择合适的方法执行,重载是多态的体现。
一般形式:
public void test(int x,int y){}
public void test(int x){}
public void test(int x,string y){}
public void test(double x){}
从一般形式得出,重载的特征如下:
(1)方法名必须相同。
(2)参数列表必须不相同,与参数列表的顺序无关。
(3)返回值类型可以不相同。
通过实例来加深印象,记住重载
public class nub
{
private string str = "分数";
public string value()
{
return str;
}
public string value(string s)
{
return str.Insert(str.Length,s);//用Insert 在字符串的 长度末尾增加字符"s".返回
}
public string value(int num)
{
StringBuilder sb = new StringBuilder(str);
sb.AppendFormat("{0:c}",num);
return sb.ToString();
}
}
public class program
{
static void Main(string[] args)//要将main方法写在program类里,才能够调用class nub.
{
nub a = new nub();
string result = a.value();
Console.WriteLine("原来的输出------"+result);
result = a.value(":");
Console.WriteLine("插入字符串的输出------"+result);
result = a.value(20000);
Console.WriteLine("格式化文本---"+result);
Console.ReadKey();
}
}
控制台输出结果为:
原来的输出------分数
插入字符串的输出------分数:
格式化文本------¥2,000.00
总结:
重载主要用来增加代码的扩展性,从而提高代码的重用率,方便代码的后期维护。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------详细请查看:www.itheima.com