C#抽象修饰符abstract、virtual虚拟修饰符和override重写修饰符

抽象类:

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

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

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

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

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

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

 虚方法:

  虚方法用关键字virtual修饰,与抽象方法不通的是,虚方法必须有方法体

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

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

override:

override只能用来重写virtual, abstract, 或 override的被重新属性或方法

posted @ 2020-09-03 17:18  路鸣  阅读(657)  评论(0编辑  收藏  举报