zoukankan      html  css  js  c++  java
  • C#中virtual与abstract的区别

     C# virtua 关键字用于修改方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。 例如,此方法可被任何继承它的类替代。

       不能将C# virtual修饰符与以下修饰符一起使用:static   abstract   override 

       C#的virtual 和 abstract经常让人混淆,这两个限定词都是为了让子类进行重新定义,覆盖父类的定义。用法上区别如下:

    1. virtual修饰的方法必须有方法实现(哪怕只有一对大括号),abstract修饰的方法不能有实现。
    2. virtual可以被子类重写,abstract必须被子类重写
    3. 如果类中的某一函数被abstact修饰,则类名也必须用abstact修饰
    4. 用abstract修饰的类只能被继承不能够被实例化
    5. C#中如果准备在子类重写父类的方法,则该方法在父类中必须用virtual修饰,在子类中必须用overide修饰,避免了程序员在子类中不小心重写了父类父类方法。
  • 相关阅读:
    #{}和${}的区别
    Shiro 的优点
    SpringSecurity 和 Shiro的之间的比较
    shiro的组件
    Apache Shiro 的三大核心组件
    Maven的工程类型有哪些?
    Maven仓库是什么
    什么是Maven?
    shiro有哪些组件?
    Apache Shiro 的三大核心组件
  • 原文地址:https://www.cnblogs.com/weilei/p/11497427.html
Copyright © 2011-2022 走看看