C#重载和重写
一、重载
重载就是在同一个类中,方法名相同,参数列表不同,返回类型可以不相同。参数列表不同包括:参数的个数不同,参数类型不同等。
以下就是返回类型可以不相同,但是他们的参数列表必须不同
public void Method2(int i,string j) { } public string Method2() { return null; }
public string Method2(int i)
{
return null;
}
二、重写
重写就是子类重写父类的方法,在调用的时候,子类的方法会覆盖父类的方法,也就是会调用子类的方法。在父类中的方法必须有修饰符virtual或是abstract,而在子类的方法中必须指明override。
在重写中,子类继承父类,不同的实例化方式会调用不同的方法。
class Child:Parent { public override void ParentMethod() { Console.WriteLine("this is child"); } } class Parent { public virtual void ParentMethod() { Console.WriteLine("this is parent"); } }
parent a=new Child();
a.ParentMethod();
这里调用的是Child类中的方法。