C#抽象类和虚方法

抽象类:

  抽象类使用关键字abstract修饰,是一种特殊的类,不能实例化对象,且不能直接调用(区分静态类)

  抽象类中可以定义抽象方法(也用关键字abstract修饰),也可不定义任何抽象方法,但抽象方法必须定义在抽象类里

  抽象方法只有方法声明,不含有任何方法体,如:public string GetName();

  抽象方法必须在子类中被重写,通过关键字overwrite

  抽象方法是一种隐式虚方法

  子类必须重写全部抽象方法,除非子类也是抽象类

 虚方法:

  虚方法用关键字virtural修饰,与静态方法不通的是,虚方法必须有方法体

  虚方法可在子类中重写或不重写(这也是上面必须有方法体的原因)

  虚方法定义是方便在子类中重写

博客备忘,一起成长。
原文地址:https://www.cnblogs.com/lumingprince/p/13608728.html