黑马程序员 - 学习笔记1 重载方法

---------------------- 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

你可能感兴趣的:(黑马学习笔记)