深入解析抽象类

定义一个抽象 类和方法

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("需要再次对抽象类进行实现")
    }
}

  

原文地址:https://www.cnblogs.com/zmztya/p/5775689.html