定义一个抽象 类和方法
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("需要再次对抽象类进行实现") } }