zoukankan      html  css  js  c++  java
  • c#中virtual, abstract和override的区别和用法

    virtual是把一个方法声明为虚方法,使派生类可重写此方法,一般建立的方法是不能够重写的,譬如类A中有个方法
    protected void method(){
    原代码....;
    }
    类B继承自类A,类B能够调用类A的method()方法,但不能更改方法体代码,但当类A中使用了virtual声明此方法: protected virtual void method(),那么类B可通过使用override重写此方法
    protected override void method(){
    新代码....;
    }
    virtual可在基类、抽象类中使用
    而使用abstract声明的方法,为抽象方法,抽象方法没有代码体,只有一个方法名的声明:
    protected abstract void method();
    当使用abstract声明的方法,其派生类必须要重写此方法,如上面一句为抽象类A中声明的,类B继承自抽象类A,那么类B中必须要使用override重写此方法
    protected override void method(){
    新代码....;
    }
    但abstract只能在抽象类中使用
    override就是派生类重写父类方法(包括虚方法、抽象方法,接口方法)时的关键字,反正你要重写方法,就使用override声明
  • 相关阅读:
    日志记录
    python进程基础
    堆和栈的区别
    Mysql数据类型(一)
    JS超链接动态显示图片
    WPF Button控件模板
    js table鼠标点击时变色
    JS表格各行变色
    js动态创建表格
    Codeforces 659G Fence Divercity dp
  • 原文地址:https://www.cnblogs.com/BluceLee/p/3994495.html
Copyright © 2011-2022 走看看