一、方法的重载
重载:指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。
作用:允许你以相同的名称不同的参数来调用多个方法
实例:
public void Fun()
{
Console.WriteLine("方法一");
}
public void Fun(int i)
{
Console.WriteLine("方法二,参数为:{0}",i);
}
二、方法的重写
重写:是指子类对父类中虚函数或抽象函数的“覆盖”。
特点:(1)重写的父类中的方法必须用 virtual、abstract 或 override 修饰,且不能重写非虚方法或静态方法。
(2)override的方法和virtual的方法必须具有相同的访问级别修饰符。
实例:
class A
{
public virtual void Fun()
{
Console.WriteLine("父类方法");
}
}
class B : A
{
public override void Fun()
{
Console.WriteLine("子类显示隐藏父类方法");
}
}
三、方法的隐藏(New)
隐藏:在子类中写一个和基类一样名字(参数不同也算)的非虚方法,会让基类中的函数被隐藏,编译后会提示要求使用New关键字来显示的隐藏基类的方法。
实例:
class A
{
public void Fun()
{
Console.WriteLine("父类方法");
}
}
class B : A
{
public new void Fun()
{
Console.WriteLine("子类显示隐藏父类方法");
}
}