这2天忙于找工作,看.NET笔试题目的时,发现有些笔试题目还是比较有趣的,虽然考的都是基础,但是稍有不慎还是会进入圈套。以下面一个题目为例,听说是晕倒了一群人 - -

    class Program
    {
        static void Main(string[] args)
        {
            B b = new B();

A a = new A();

a.Fun2(b);

b.Fun2(a);


            Console.Read();
        }
    }

public class A
    {

public virtual void Fun1(int i)
        {
            Console.WriteLine(i);
        }
        public void Fun2(A a)
        {
            a.Fun1(1);
            Fun1(5);
        }

}
    public class B : A
    {

public override void Fun1(int i)
        {

base.Fun1(i + 1);
        }
    }

问题是给出输出结果。这个题目见过的人觉得很简单,不过对于我这个菜鸟来说,刚开始确实还遇到点麻烦,没整清楚。

后来仔细想了下,觉得这个题目还是蛮绕,蛮有趣的。以下是我对这个题目的浅显理解。

a.Fun2(b);
传入的是B的实例,进入Fun2(A a)方法

public void Fun2(A a)
        {
            a.Fun1(1);
            Fun1(5);
        }

这里不能被参数a所迷惑,以为它就是简单的A的类型,应该根据实际传入的类型去考虑(我觉得这也是解决这个题目的关键吧)。

所以在调用 a.Fun1(1)的时候应该是对应子类B类重写的Fun1(1)方法。故此处输出为2.而接下来Fun1(5)仍然是A的Fun1的方法。故输出是5.

同理,对于b.Fun2(a),传入的参数是A的实例,故调用 a.Fun1(1)应该是父类A的Fun1(1)方法。故此处输出为1,而接下来Fun1(5)却是B的Fun1的方法。故输出是6.

做个mark 以便自己以后忘记 - -

转载于:https://www.cnblogs.com/_Sun_Shine_/archive/2011/04/15/2017300.html

比较有趣的一个笔试题目相关推荐

  1. 《课程格子》的一个笔试题目

    题目如下,感觉很适合喜欢琢磨的程序员,也是考验你编码风格的时候. Let's make a tower defense game(塔防游戏): 1. You have 1 tower, with H ...

  2. 20200802拼多多笔试题目

    20200802拼多多笔试题目 第一题 python代码示例 第二题 python代码 第三题 提交的版本 完善版本 双指针代码 第四题   拼爹爹的题目感觉出的还是比较有水准的,不管怎么样测试用例是 ...

  3. 单片机工程师笔试题目归纳汇总

    基础知识 波特率 1)定义: 波特率表示每秒钟传送的码元符号的个数,是衡量数据传送速率的指标,它用单位时间内载波调制状态改变的次数来表示.   在信息传输通道中,携带数据信息的信号单元叫码元,每秒钟通 ...

  4. 百度 腾讯 阿里 小米 笔试题目宝典

     九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题 引言 自发表上一篇文章至今(事实上,上篇文章更新了近3个月之久),blog已经停了3个多月,而在那之前,自开博以来的21个月每月都不曾 ...

  5. 百度 阿里 腾讯 BAT笔试题目

     8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的     i .每次从通里面拿出来两个球:     ii.如果取出 ...

  6. java ee 笔试题目,JSP经典笔试@题目(含答案)

    JSP经典笔试@题目(含答案) 更新时间:2017/2/5 19:25:00  浏览量:557  手机版 JSP综合测试笔试 1)在Java EE中,Servlet是在服务器端运行,以处理客户端请求而 ...

  7. tcl c语言笔试题,TCL技术类笔试题目.doc

    TCL技术类笔试题目 模拟电路试题 一.二极管 1.如图所示电路中,已知电源电压 E=4V 时,I=1mA.那么当电源电压 E=8V 时 , 电流I的大小将是______ 2.稳压管通常工作于____ ...

  8. 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目

    题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...

  9. 笔试题目“翻转字符串”的实现

    笔试题目 //写一个函数,将字符串翻转,翻转方式如下:"I am a student"反转成"student a am I",不借助任何库函数. 据说这题在笔试 ...

最新文章

  1. 初探云原生应用管理(一): Helm 与 App Hub
  2. java招投标网站源码_基于jsp的招标系统-JavaEE实现招标系统 - java项目源码
  3. 用辩证、动态的眼光看世界
  4. android studio 自动生成对象,在Android Studio中快速导入可绘制对象的方法?
  5. linux如何将文件夹添加到书签,桌面应用|[新手技巧] 如何在Ubuntu中添加和删除书签...
  6. lazada铺货模式的选品_Lazada的商业模式有哪些?要怎么做?
  7. HDU1874 畅通工程续【Dijkstra算法】
  8. zabbix详解(十三)——zabbix微信报警实战
  9. 财富提升成都IT产业吸引力
  10. html字体名称有哪些,css有哪些字体系列?
  11. 第二章 Spring MVC入门 —— 跟开涛学SpringMVC
  12. php自动获取节气对应的年月日_php如何通过日期获取农历、节日、节气?
  13. Dijkstra算法指定任意两点距离(邻接矩阵法)
  14. 电路分析三------KCL,KVL,VCR方程
  15. video.js播放rtmp直播源和hls直播源
  16. 3.MyBatis源码解析-CRUD执行流程--阿呆中二
  17. 使用 auto-drawing 画一个鱼骨图
  18. 网络关键设备和网络安全专用产品目录
  19. 三维空间直线与平面交点
  20. Angular Elements,四步将Angular 组件转换为 web 组件

热门文章

  1. ASP.Net中自定义Http处理及应用之HttpModule篇
  2. Python3中lambda表达式介绍
  3. 对象检测工具包mmdetection简介、安装及测试代码
  4. windows7 64位机上配置支持GPU版(CUDA7.5)的OpenCV2.4.13操作步骤
  5. #Ruby# Introspect (2)
  6. 中计算散度的函数_理解 Kullback–Leibler 散度的近似
  7. 小甲鱼python003答案_小甲鱼:Python学习笔记003_函数
  8. java计算器的重点解决问题_java计算器问题
  9. IDEA的CPU占用率高问题解决方法
  10. linux环境安全测评实验报告,linux第一次实验报告