1.简述C#中的虚方法

答:注意:当使用virtual关键字修饰符后,不允许再同时使用abstract,static,或override关键字进行修饰

使用virtual关键字修饰的方法就是虚方法,虚方法的关键字用于修饰属性方法.索引器或事件声明,并使他们可以在

派生类中被重写.虚方法必须并提供派生类覆盖该方法的选项,并且必须有实现部分,虚方法的作用是可以在派生类中被

重写.

2.简述C#中的密封类和密封方法

答:密封类使用sealed关键字进行修饰,他不能用作其他类的基类,并且他没有派生类.密封类的作用是防止其他类继承该类

密封方法是使用sealed关键字进行修饰的方法,它并不影响类的继承,但它可以防止重写基类中特定的虚方法.

3.C#静态类构造方法特点

答:注意:静态构造方法,是在构造方法的名字前使用static关键字修饰符的构造方法.

C#中静态类构造方法最主要的特点是:静态的构造方法是最先被执行的构造方法,并且在一个类里只允许有一个无参的静态构造方法.

4个特点如下:只允许有一个无参的静态构造方法在一个类中存在.

      静态的构造方法不会被继承

      在所有的静态成员被引用之前执行静态构造方法

      在所有的构造方法中最先被执行的是静态的构造方法.

4.简述C#派生类中的构造函数

答:使用C#派生类中的构造函数时,需要注意关键字base和this的区别,关键字base表示调用基类中的构造函数,而this表示调用本类中的构造函数.

5.简述接口和接口继承

答:C#中接口具有9中特性:

      1.接口只定义,不包含方法的实现

      2.接口可以包含方法,属性.事件和索引器

      3.接口成员必须是公共的

      4.接口不能直接实例化

      5,接口不能包含任何字段

      6.接口描述可属于任何类或结构的一组相关行为.

      7.接口自身均可以从多个接口继承

      8.类和结构可以从多个接口继承

      9.接口类似于抽象类,但继承接口的类型必须实现接口中的所有定义成员对象.

接口是把隐式公共方法和属性组合起来,以封装特定功能的一个集合.当定义了接口,就必须在继承类中实现它,这样类就支持接口中所

指定的所有属性和成员.

6.简述事件机制

答:事件是.net程序员中经常使用的一个机制,事件是一种使对象或类能够提供通知的成员,客户端可以通过提供事件处理程序为相应的

事件添加可执行代码,事件可以理解为一种特殊的委托.

7.什么是委托

答:本质上,委托的调用就是执行了在定义委托时所生成的Invoke()方法

C#中的委托类都继承自Systen.Delegate类型,委托类型的声明与方法签名相似,有一个返回值和任意数目类型的参数.

委托是一种可用于封装命名或匿名方法的引用类型.委托类似于函数指针,但是委托是类型安全和可靠的.

8.C#中被委托的方法必须是静态的嘛?

答:通过上面的分析读者可以清晰地判别,委托不仅能绑定静态方法,同时也可绑定实例方法.当绑定实例方法时,Delegate.Target属性将会设置成指向该实例方法所属类型的一个实例对象,当绑定静态方法时,Delegate.Target属性将会设置成null;

C#面向对象面试题集锦的更多相关文章

  1. 经典的Java基础面试题集锦

    经典的Java基础面试题集锦,欢迎收藏和分享. 问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”. 问题:Java里的传引用 ...

  2. 2016最新Java笔试题集锦

    更新时间:2015-08-13         来源:网络         投诉删除 [看准网(Kanzhun.com)]笔试题目频道小编搜集的范文“2016最新Java笔试题集锦”,供大家阅读参考, ...

  3. Java笔试题集锦

    Java笔试题集锦 1.MVC的各个部分都有那些技术来实现?怎样实现? 答:MVC是Model-View-Controller的简写."Model" 代表的是应用的业务逻辑(通过J ...

  4. C/C++面试题集锦(一)

    C/C++面试题集锦(一) */--> C/C++面试题集锦(一) 在类的头文件中进行声明然后在定义文件中实现有什么意义? 一方面使类的实现只编译一次,提高编译效率:另一方面可以实现类的接口和实 ...

  5. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的

    ===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦]下载地址 http://www.eoeand ...

  6. J2EE面试题集锦(附答案)

    转自:http://blog.sina.com.cn/s/blog_4e8be0590100fbb8.html J2EE面试题集锦(附答案)一.基础问答 1.下面哪些类可以被继承? java.lang ...

  7. J2EE面试题集锦_

    一.基础问答 不能被继承的类有[Long  Double  Float  Short  Void  Class  Math  String] 他们都被final修饰         类可以被继承[Th ...

  8. Redis面试题集锦(精选)

    1.什么是 Redis?简述它的优缺点? Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value 类型的内存数据库,很像memcached,整个数据库统统 ...

  9. RabbitMQ面试题集锦(精选)(另附思维导图)

    1.使用RabbitMQ有什么好处? 1.解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦! 2.异步,将消息写入消息队列,非必要的业务逻辑以异步的 ...

随机推荐

  1. PLC梯形图编程练习

    在PLC培训软件中完成如下两个练习,并把对应的梯形图程序发表在博客上. 交通灯控制 在如下图的场景中,打开SW1开关后,交通灯控制器开始工作,关闭SW1则控制器停止工作. SW2为控制模式选择开关: ...

  2. HBase入库调优

    本文章只针对“微型集群处理大数据”的场景. 场景描述: 硬件:5个节点,每个节点可用硬盘1块(700G.500G等).8核cpu,实验室环境(有时候还要跑其他程序跟你抢占资源),16G内存. 软件:h ...

  3. 慢牛系列四:好玩的React Native

    在上次随笔(系列三)中,我试着用RN实现了一个Demo,感觉很不错,当时遇到的问题这篇文章里基本都解决了,比如导航动画问题,这篇文章里主要介绍RN的动画,学会动画以后,各种小创意都可以实现了^^ 下面 ...

  4. 从士兵到程序员再到SOHO程序员

    2013年9月13日,我从就职了一年半的S公司正式离职,并开始了我梦寐以求的“SOHO程序员”之路. 这对于我来说,是一次人生道路上的重要选择,在这里,我想分享一下我是如何选择了这条道路的,同时也是对 ...

  5. Java集合类: Set、List、Map、Queue使用场景梳理

    本文主要关注Java编程中涉及到的各种集合类,以及它们的使用场景 相关学习资料 http://files.cnblogs.com/LittleHann/java%E9%9B%86%E5%90%88%E ...

  6. c# winform 火狐浏览器 查看cookie

    c# winform 火狐浏览器 查看cookie Firefox的Cookie数据位于:%APPDATA%\Mozilla\Firefox\Profiles\ 目录中的xxx.default目录,名 ...

  7. Ibatis学习总结7--SqlMapClient 执行 SQL 语句

    SqlMapCient 类提供了执行所有 mapped statement 的 API.这些方法如下: public int insert(String statementName, Object p ...

  8. ansible-2添加公钥

    该文章摘自:http://www.fwqtg.net/%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E5%B7%A5%E5%85%B7ansible%E5 ...

  9. Java基础-字面值

    在Java源代码中,字面值用于表示固定的值(fixed value).数值型的字面值是最常见的,字符串字面值可以算是一种,当然也可以把特殊的null当做字面值.字面值大体上可以分为整型字面值.浮点字面 ...

  10. 【Aizu 2305】Beautiful Currency

    题 题意 给你n个货币价格,然后通过调整一些货币的大小,使得所有比自己小的货币都是该货币的约数,调整前第 i 货币为a,调整后为b 那么变化率为 ri=|a-b|/a ,总变化率为max(ri).求最 ...