//测试:父类的方法标记为virtual时,子类可以用override重写父类的方法
class Vehicle
{
public virtual void F()
{
Console.WriteLine("这是类vehicle的virtual虚方法F");
}
}
class Car : Vehicle
{
public override void F()
{
Console.WriteLine("子类CAR继承了VEHICLE父类,重写了父类方法F");
}
}
//抽象类可以继承非抽象类
abstract class Lane : Vehicle
{
public override void F()
{
Console.WriteLine("抽象类fane重写了父类的方法F");
}
}
//子类的抽象方法重写了非抽象类的虚方法
//这样就可以屏掉在继承情况下非抽象类的一些虚方法的实现,而编写自己需要的实现
abstract class Mv : Vehicle
{
public abstract override void F();
}
class Sun : Mv
{
public override void F()
{
Console.WriteLine("子类sun继承了抽象父类,并重写了抽象父类的抽象方法");
}
}