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

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

    一、Virtual方法(虚方法)

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

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

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

      virtual方法必须有实现(即便它是在abstract类中定义的方法)

    二、Abstract方法(抽象方法)

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

      abstract类无法创建实例,只能被继承无法实例化。

  • 相关阅读:
    Thrift在微服务中的使用
    MySQL 必知必会
    IDEA 内使用 git
    分布式锁
    LeetCode 图
    LeetCode 位运算
    LeetCode 数组
    LeetCode 字符串
    LeetCode 哈希表
    LeetCode 栈和队列
  • 原文地址:https://www.cnblogs.com/gsk99/p/4975858.html
Copyright © 2011-2022 走看看