1.方法隐藏:
如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,自动调用子类的同名方法
2.virtual:用在父类中,表示方法可以重写
override:用在子类中,重写父类的方法
例子:
class Father{
public virtual void Print{
Console.WriteLine("父类的Print()");
}
}
class Son:Father{
public override void Print(){
Console.WriteLine("父类的Print()");
}
}
注:virtual关键字和override关键字是成对出现的,否则是语法错误。
3.父类的引用指向子类的实例
class Son:Father
{
static void Main(string[] args)
{
Father s = new Son(); //相当于把子类的值赋给了父类 &
如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,自动调用子类的同名方法
2.virtual:用在父类中,表示方法可以重写
override:用在子类中,重写父类的方法
例子:
class Father{
public virtual void Print{
Console.WriteLine("父类的Print()");
}
}
class Son:Father{
public override void Print(){
Console.WriteLine("父类的Print()");
}
}
注:virtual关键字和override关键字是成对出现的,否则是语法错误。
3.父类的引用指向子类的实例
class Son:Father
{
static void Main(string[] args)
{
Father s = new Son(); //相当于把子类的值赋给了父类 &