zoukankan      html  css  js  c++  java
  • virtual方法和abstract方法

     

         在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。

    一、Virtual方法(虚方法)

         virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况:

         情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。

         情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。

      情况3:多态情况,在基类中定义virtual,然后在派生类中使用override重写该方法。那么在多态(基类 变量=new 派生类())的时候,调用的还是派生类重写的方法。

    二、Abstract方法(抽象方法)

         abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现。抽象方法的实现必须在派生类中使用override关键字来实现。

    三、基类和派生类中都定义了一个相同的方法,这时候,实例化时,派生类前加new 关键字,可以隐藏基类方法,多态调用基类方法,直接实例化派生类,不会执行基类方法

  • 相关阅读:
    ckfinder+ckeditor配置经验
    人人商城模块研究
    微擎小程序支付功能+退款功能
    php服务器网络请求
    linux对workerman的扩展和配置
    linux安装php_screw加密php代码
    webForm渲染视图的基本方法
    sql注入和暴库
    数据库设计命名规范
    枚举、结构体、联合体的简单应用程序-C语言
  • 原文地址:https://www.cnblogs.com/yexinw/p/3745053.html
Copyright © 2011-2022 走看看