override

  • override是派生类用来重写基类方法的。调用的派生类方法,如需调用基类方法用base关键字
  • override不能重写非虚方法或静态方法。
  • override重写必须用abstract、override、virtrual修饰的方法。

new

  • new 是派生类用来隐藏基类方法的,在派生类中看不到基类方法,但调用的还是基类的方法。
  • 如果在派生类中要隐藏基类方法而不用new关键字,编译时会出现一个警告,提示如果是要隐藏基类中的方法,请使用new关键字。
  • new可以隐藏基类中的普通方法也可以是虚方法。
  • 如果在派生类中用private来修饰new 方法,那么只在该派生类中隐藏了基类中的方法,在该派生类之外,相当于没有隐藏基类中的方法;
  • 如果在派生类中隐藏了基类中的方法,在该派生类的派生类中,将延续对该派生类对基类方法的隐藏。
 public class Program{static void Main(string[] args){A a = new A();a.Test();B b = new B();b.Test();A c = new B();c.Test();A d = new C();d.Test();Console.ReadLine();}}public class A{public virtual void Test(){Console.WriteLine("A Test()");}}public class B : A{private new void Test(){Console.WriteLine("b Test()");}}public class C : B{public override void Test(){Console.WriteLine("C Test()");}}

转载于:https://www.cnblogs.com/liujie2272/p/5407628.html

C#基础知识四之override和new的区别相关推荐

  1. 跳槽者、应届生必看JAVA面试题系列 - JAVA基础知识(四)

    一: 前言 莫等闲,白了少年头,空悲切. 二: 面试挑战   在文章开始前,首先安利下"面试挑战": 凡是满足下面的挑战条件的,如果一个月内没有拿到一个Offer的,免费提供简历封 ...

  2. (七)JS基础知识四(搞定异步)【三座大山之三,必考!!!】

    JS基础知识四(异步) 提问 单线程 应用场景 callback hell和promise 提问 同步和异步的区别是什么 手写用Promise加载一张图片 前端使用的异步的场景有哪些 单线程 JS是单 ...

  3. C# 基础知识 (四).C#简介及托管代码

            暑假转瞬即逝,从10天的支教生活到1周的江浙沪旅游,在这个漫长的暑假中我经历了很多东西,也学到了很多东西,也认识到了很多不足之处!闲暇之余我准备重新进一步巩固C#相关知识,包括C#入门 ...

  4. post获取重定向的链接 python_【转载】python面试基础知识(四) 网络部分

    最近,小编在整理python面试基础知识,看了很多博客.文章和咨询了一些大厂公司大牛.了解到,在python面试的时候,不仅要求你有项目经验,还要考试代码呢!今天,小编和大家分享一下python面试基 ...

  5. Java基础知识(四) 基本类型与运算

    Java基础知识 基本类型与运算 1. Java提供了哪些基本数据类型 2. 什么是不可变类 3. 值传递与引用传递的区别 4. Math类中的round.ceil和floor方法的功能各是什么 5. ...

  6. OpenGL基础知识(四)

    今天将继续修改OpenGL基础知识(三)中的例子,并进行了一些简单的动画绘制.在编写代码之前先介绍一下函数glutTimerFunc(unsigned int msecs,void (*func) ( ...

  7. gddr6速率_显卡GDDR6显存基础知识:显存GDDR6和GDDR5区别对比科普篇

    NVIDIA为我们发布了全新一代RTX20系显卡,不仅为我们带来了光线追踪.DLSS等全新技术,还搭配了全新一代GDDR6显存,而在10系列只是GDDR5或GDDR5X显存.今天装机之家帮大家科普一下 ...

  8. Android学习之基础知识四-Activity活动7讲(活动的启动模式)

    在实际的项目开发中,我们需要根据特定的需求为每个活动指定恰当的启动模式.Activity的启动模式一共有4种:standard.singleTop.singleTask.singleInstance. ...

  9. java class 字符串_java基础知识四 math类 字符 字符串 控制台输入输出 StringBuilder与StringBuffer...

    第四章:数学函数.字符和字符串 math类 Math是final类:在java.lang.Math中,所有数学函数都是静态方法 在一个java程序中,java.lang包中的所有类是隐式导入的. 三角 ...

  10. 工业通讯 | Profinet协议基础知识(四)

    四.PROFINET设备实现 1.PROFINET 设备开发流程 PROFINET 设备开发流程 开会确定开发方案: 前期的开发环境搭建: PROFINET设备的软硬件设计: 编写GSD文件,描述设备 ...

最新文章

  1. Python 基础 - Day 2 Assignment - ShoppingCart 购物车程序
  2. 深入理解Java注解Annotation之注解处理器
  3. C# 字段 属性 方法 三霸主齐上阵
  4. java程序设计复习题_java程序设计复习大全(100题及答案).doc
  5. C# 委托与事件(delegate)
  6. .Net 接入CAS 遇到的坑
  7. Matlab 画图函数
  8. NewH3C——PPP、WLAN
  9. deepin[idea添加桌面]
  10. 基于双目视觉的非标机械臂的空间定位流程(未完待续)
  11. JavaScript复习笔记
  12. 【探花交友】day06—即时通信
  13. js提取JSON数据中需要的那部分数据
  14. 密集预测任务的多任务学习综述
  15. 转载:徐家骏:我在华为工作十年的感悟
  16. 检测心电信号的p波的matlab代码,matlab心电信号R波检测程序.doc
  17. PCL1.9.0网盘资源分享(ALL IN ONE +PDB)
  18. Python【数学工具集项目】专栏——介绍(作者:CSDN用户(TDTX、philo42))【2021-07-09】
  19. LeetCode - 794 - 有效的井字游戏 - java
  20. 企业级自动化运维平台

热门文章

  1. Oracle删除重复记录三种方法
  2. c语言程序设计数字电位器,数字电位器X9C103 100级调节电路和单片机源程序
  3. Layer 提示框tips使用
  4. LINUX编译libusb
  5. NVIDIA官方指南:libav编译支持Nvidia Codec(结果失败)
  6. VirtualBox 6.1.4的共享剪贴板确实有问题,6.1.0正常
  7. 编译OpenJDK12:a microsoft compiler is required
  8. 汉代以前,鸳鸯是形容兄弟感情的,后来演变为男女感情
  9. 提供了一个UBUNTU安装NVIDIA驱动的脚本的下载
  10. 对即时通讯个人信息的一点想法