【前言】
我们上节知道构造方法是对类进行初始化,在小猫出生的同时,给小猫起个名字,那么如果事先没有起好名字,难道小猫就没法出生(实例化)了吗?当然不是,如果需要不起名字就让小猫出生,可以用“方法重载”。
【正文】
方法重载是什么呢?
方法重载提供了创建同名的多个方法的能力,但这些方法需要使用不同的参数类型。
比如现在有许多小猫出生,有的要起名字,有的不需要起名字。那么我们就可以用方法重载、
class Cat
{
private string name = ""; //声明cat类的私有字符串变量name
public Cat (string name) //定义cat类的构造方法,参数是输入一个字符串
{
this.name = name; // 将参数赋值给私有变量name
}
public Cat()
{
this.name = "无名氏";
}
public string Shout()
{
return "我的名字叫" + name + "喵";
}
}
客户端代码
private void button1_Click(object sender, EventArgs e)
{
Cat cat1 = new Cat("花花"); //实例化出一个cat1
MessageBox.Show(cat1.Shout());
}
private void button2_Click(object sender, EventArgs e)
{
Cat cat2 = new Cat(); //实例化出一个cat2
MessageBox.Show(cat2.Shout());
}
运行结果:
需要注意的是:方法重载时,两个方法必须需要方法名相同,但参数类型或个数必须有所不同。
其实方法重载就是在不改变原有的方法基础上,新的增加功能。
这样一看,方法重载的作用不就一目了然了嘛!