首页 > 代码库 > 附录A培训实习生-面向对象基础(3):方法重载
附录A培训实习生-面向对象基础(3):方法重载
就上一篇代码而言,你如果写Cat cat = new Cat();会直接报错错误 :
1 “Cat”方法没有采用“0”个参数的重载 E:\大话设计模式学习\BigDesignPatterns\附录A培训实习生之面向对象基础\动物运动会\AnimalGames\Form1.cs 20 23 AnimalGames
原因就是必要给小猫起名字.如果当真需要不起名字也要生出小猫来,可以采用方法重载.
方法重载提供了创建同名的多个方法的能力,但这些方法需使用不同的参数类型.注意不是只有构造方法可以重载,普通方法也可以.
方法重载:方法名相同,但是参数类型或个数必须不同.
方法重载的好处是什么?
方法重载的好处就是在不改变原方法的基础上,新增功能(方法重载就是提供了函数可扩展的能力).
对Cat进行重载:
1 class Cat 2 { 3 private string name = "";//声明Cat类的私有字符串变量name 4 5 /// <summary> 6 /// 定义Cat的构造方法,参数是输入一个字符串 7 /// </summary> 8 /// <param name="name"></param> 9 public Cat(string name)10 {11 this.name = name;//将参数赋给私有变量name12 }13 14 /// <summary>15 /// 构造方法重载16 /// </summary>17 public Cat() 18 {19 this.name = "无名";20 }21 22 public string Shout() 23 {24 return "我的名字叫" +name+ "瞄";25 }26 }
调用的时候:
1 private void button1_Click(object sender, EventArgs e)2 {3 Cat cat = new Cat();//将cat实例化4 //注意:Cat cat = new Cat();其实做了两件事,5 //Cat cat;声明一个Cat的对象,对象名是cat6 //cat = new Cat();将此cat对象实例化7 MessageBox.Show(cat.Shout());8 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。