回到 目录

之所以写这篇文章,完全是因为这次代码审核,这次代码审核过程当中,出现了很多我认为基础知识不够扎实的问题,所以,打算把它们记录下来,共大家分享。

方法的override,即方法的覆写或者重写,有时还是习惯叫它英文override,它是指将父类的abstract或者virtual方法进行重新设计,可以将新的功能加入其中,看起来很不错,但在使用过程中,有时我们可能拿不准它,下面我说几点:

一  父类是抽象类,这时,它的实例化需要通过子类来完成,这时的override是子类最后重写的

二  父类是普通类,这时,它的实例化工作如果由自己完成,结果就是父类virtual的结果,与它的子类无关。

三  父类是普通类,它的实例化工作如果由子类完成,那么,它的结果就是子类方法override的结果

OK,下面我们来说一下例子,它由father类和sons类组成,father类是一个普通类,在这实现当中,它很可能是个泛型类,如仓储模式的实现

   /// <summary>/// 一个爸爸/// </summary>class Father{public virtual void print(){Console.WriteLine("我是爸爸");}}

下面是儿子A对爸爸的print方法的重写工作

    /// <summary>/// 一个儿子A/// </summary>class SonA : Father{public override void print(){Console.WriteLine("我是儿子");//override father class print method.
        }public void sonPrint(){base.print(); //我是爸爸print();//我是儿子
}}

而下面是对print方法的各种调用工作,包括了实现化的方式

     static void Main(string[] args){SonA son = new SonA();son.sonPrint(); //我是爸爸,我是儿子Father father = new Father();father.print();//我是爸爸Father son2 = new SonA();son2.print();//儿是儿子}

OK,通过结果我们可以看出:

在儿子类里,base.print()方法走的是爸爸的print;print走的是儿子

在儿子类以外,使用爸爸自己去实例化后,print走的是爸爸的;使用儿子进行实例化后,print方法走的是儿子重写后的;

回到 目录

基础才是重中之重~方法override详解相关推荐

  1. 基础才是王道——TCP/IP详解学习笔记 这位仁兄写得太好了

    TCP/IP详解学习笔记 这位仁兄写得太好了 TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.as ...

  2. python random库生成伯努利随机数的方法_详解Python基础random模块随机数的生成

    随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...

  3. Java基础13:反射与注解详解

    Java基础13:反射与注解详解 什么是反射? 反射(Reflection)是Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. Orac ...

  4. python装饰器函数-Python函数装饰器常见使用方法实例详解

    本文实例讲述了Python函数装饰器常见使用方法.分享给大家供大家参考,具体如下: 一.装饰器 首先,我们要了解到什么是开放封闭式原则? 软件一旦上线后,对修改源代码是封闭的,对功能的扩张是开放的,所 ...

  5. 基础才是重中之重~类是怎么执行的

    回到目录 对于一个程序员来说,有必要知道一个概念的同时也解它的执行过程,这样对于写出更好更安全的程序是有帮助的. 大牛们不是一天就成为大牛的,而是经过一步一步的实践,不断的知识的积累才成为大牛的,呵呵 ...

  6. Sniff网络基础原理和软件实现技巧详解

    Sniff网络基础原理和软件实现技巧详解 前言 SNIFF真是一个古老的话题,关于在网络上采用SNIFF来获取敏感信息已经不是什么新鲜事,也不乏很多成功的案例,那么,SNIFF究竟是什么呢? SNIF ...

  7. nvme固态硬盘开机慢_别让谣言害了你!关于固态硬盘的谣言以及使用误区 NVMe固态硬盘卡慢怎么办 NVMe固态硬盘卡慢解决方法【详解】-宝商在线...

    凭借高速特性,固态硬盘逐步取代机械硬盘已是大势所趋,关于固态硬盘的话题,自然也就多了起来.今天装机之家小编就来告诉大家,关于固态硬盘的谣言以及使用误区,来看看你中招了没 [误区一:想中毒,哪有这么容易 ...

  8. Java的JVM运行时栈结构和方法调用详解

    详细介绍了Java 的JVM的运行时栈结构,以及和方法调用详解,包括解析调用和分派调用. JVM对于方法的执行是基于栈的,方法调用--入栈,方法调用完毕--出栈,了解JVM的运行时栈结构,有助于我们更 ...

  9. 计算机软故障无法开机,电脑常见的开机故障及解决方法的详解

    电脑常见的开机故障及解决方法的详解 发布时间:2012-11-07 14:12:47   作者:佚名   我要评论 造成电脑不能正常开机的情况有很多种,是没插插头?还是线缆松动?难道是机箱里面密密麻麻 ...

最新文章

  1. python 解压缩 tar 包 或 tar.gz包
  2. python拼音怎么写-【学习】python 汉语转拼音
  3. C语言 —— 运算符的优先级
  4. linux 修改编码
  5. java application作用域_servlet三大作用域:request,session,application
  6. 利用@jsonView注解来实现自定义返回字段
  7. sql 2008日志增长过快_SQL语句引起的空间暴增分析
  8. mysql 2008 日_SQL2008 的 日期数据类型
  9. Docker学习总结(7)——云端基于Docker的微服务与持续交付实践
  10. keeko机器人_机器人零距离,创意搭建编程妙趣多!——瑞云社区开展全国科普日活动...
  11. 一周信创舆情观察(8.30~9.5)
  12. 微信小程序如何使用阿里矢量库
  13. PSP联机插件pro online
  14. rom大小 stm32f205_最小的基于STM32F205VE的系统板
  15. 联想换机助手_三星s换机助手下载-三星S换机助手 安卓版v3.6.07.11-PC6安卓网
  16. 小飞鱼通达二开 通达OA2017集成MongoDB(图文)
  17. 如何将html转换成url,HTML之Data URL(转)
  18. 英伟达发布528.02 WHQL 新驱动,支持4070 Ti
  19. 硬盘显示设备未就绪,要怎么恢复资料
  20. 解决json字符串转为对象时LocalDateTime异常问题

热门文章

  1. Android监听安装卸载
  2. iShow UI for React 最佳实践
  3. ArcGIS AddIN开发异常之--修饰符“static”对该项无效
  4. could not initialize proxy - no Session
  5. 熬了一个通宵,终于解决了所有的事情,下线,睡觉
  6. 转 公有密匙 私有密匙
  7. 干货!一文解决产品经理对UML的全部疑问
  8. 如何搭建属于你自己个人知识体系1.0
  9. 10.19文件管理课程笔记
  10. 使用Jquery插件jsonview来展示json数据