重载方法
是指在类中有两个或两个以上的同名方法,但各个方法中的参数类型、参数个数或顺序不同。
class Program
{
public int Addition(int x)
{ return x+x;}
public int Addition(int x,int y)
{ return x + y;}
public int Addition(float x,float y)
{ return x + y; }
public int Addition(int x,float y)
{ return x + y; }
public int Addition(float y,int x)
{ return x + y; }
}
为什么要引入重载方法?
重载(overload)是指定义多个名称相同的方法,通过定义不同的输入参数或者返回值类型来区分这些方法。
public void myTest(int x,int y){}
public void myTest(double x,ref int y){}
public void myTest(int x,int y,string a){}
总结重载的特征:
1、方法名必须相同。
2、参数列表必须不相同,与参数列表的顺序无关。
3、返回值类型可以不同
如果一个实例方法的声明中含有override 修饰符,则称之为重写方法。重写方法 用相同的签名覆盖所继承的虚方法或抽象方法。
【示范代码:先定义一个抽象基类,并在其中定义一个抽象方法和一个虚方法】
public abstract class BaseClass //定义一个抽象基类
{
public abstract void ShowInfo(); //声明抽象方法
public virtal void OutInfo() //定义虚方法
{
Console.WriteLine("这是基类的虚方法!");
}
}
public class SonClass:BaseClass //实现抽象基类BaseClass
{
public override void ShowInfo() //重写基类的抽象方法
{
Console.WriteLine("重写基类的抽象方法");
}
public override void OutInfo() //重写基类的虚方法
{
Console.WriteLine("重写基类的虚方法");
}
}