zoukankan      html  css  js  c++  java
  • Virtual 和 Abstract的区别


    二者都是用来修饰基类的,通过覆盖基类的定义,让派生类重新定义。

    相同点:如果用于修饰方法,必须声明为Public(公有的)或者Protected(受保护的),
    因为派生类是不能访问Private(私有)方法的。

    不同点:

    Virtual:虚拟的,
    1基类中Virtual修饰的方法必须有实现,即便是只有一个大括号。
    2.派生类中Virtual可以被重写,也可以不被重写。在派生类中,要实现该修饰的方法的时候,
      必须使用关键字Override(告诉编译器,需要重写虚方法),必须有实现。
    3.C#中如果要在派生类中重写方法,那么必须在基类中的方法前使用关键字Virtual修饰。
      这样而已避免程序员在父类中不小心重写了方法。

    Abstract:抽象的,
    1.基类中Abstract修饰的方法,一定不能实现。
    2.派生类整Abstract必须重写。
    3.如果成员有Abstract修饰,那么类必须有Abstract修饰,因为只有抽象类才可以有抽象方法。
    4.无法创建Abstract类的实例,只能被继承,无法实例化。

  • 相关阅读:
    selenium3 + python
    selenium3 + python
    Linux 文件查找
    Linux 重定向与管道
    MySQL —— 基本查询方法
    Linux 用户和文件权限管理
    Linux bash介绍与使用
    Linux 文件操作
    Linux 文件系统简介
    Linux 帮助命令
  • 原文地址:https://www.cnblogs.com/acoll/p/4077858.html
Copyright © 2011-2022 走看看