定义一个抽象 类和方法
public abstract class A{
public abstract void MarkBook(stirng Type);
}
定义一个普通类 和虚方法
public class B{
public virtual void MakeBook(string Type)
{
cw(Type);//虚方法是一个方法块,可以被直接调用,也可被重写
}
}
抽象类可以使用抽象方法重写虚方法
public abstract classC:B{
public abstract override void MakeBook(string Type);
//虚方法被重写抽象后,不再拥有虚方法的内容
}
A,B,C分别被继承的时候的输出
public class F1:A{
public override void MakeBook(string Type){
cw("继承自抽象类A,需要对抽象方法重新实现")
}
}
public class F2:B
{
public overrid void MakeBook(string Type)
{
cw("可以对虚方法进行重写,也可以不从写")
// base.MakeBook(Type) 不从写的情况
}
}
public Class F3:C
{
public override void MakeBook(string Type){
cw("需要再次对抽象类进行实现")
}
}