当派生类和基类有同样的的方法(方法名相同、参数列表相同和返回值相同),这时派生类的方法可以隐藏基类的方法。也就是说可以在派生类中创建和基类方法相同的方法,但是执行的过程却不同,并且需要使用new关键字。
例如:
class program
{
static void Main(string[] args)
{
B b=new B();
b.F();
A a=b;
a.F();
Console.ReadKey();
}
}
class A
{
public void F()
{
Console.WriteLine("A.F");
}
}
class B:A
{
new public void F() //隐藏A类中的F方法
{
Console.WriteLine("B.F");
}
}
执行结果:
B.F
A.F
隐藏方法:在派生类中,使用new关键字可以显式隐藏从基类继承的成员。若要隐藏继承的成员,可使用相同名称在派生类中声明该成员,并用new修饰符修饰,该成员就是独立于基类的方法。