.net隐藏方法
概念:如果基类和派生类中都声明了签名相同的方法,但该方法没有声明为virtual和override,派生类方法就会隐藏父类的方法
风险:会造成调用错误。
class Son:Father
{
public new void SayHello()//显示的用New来声明函数以隐藏父类中的同名函数
{
base.SayHello();
}
}
隐藏的方法调用:
static void Main(string[] args)
{
//实例化子类
Son son = new Son();
son.SayHello();
//实例化父类
Father father = new Father();
father.SayHello();
//实例化子类给父类
Father fa = new Son();
fa.SayHello();
Console.ReadLine();
}
输出:
HI!Father!
Hello!Son!
Hello!Son!
父类将无法在找到子类中的同名方法。
攻城师~~