1 / 42
文档名称:

NET程序员面试资料.docx

格式:docx   大小:327KB   页数:42页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

NET程序员面试资料.docx

上传人:wz_198613 2019/8/25 文件大小:327 KB

下载得到文件列表

NET程序员面试资料.docx

文档介绍

文档介绍:面试资料2009-10-22概念题部分2009-10-22第一部分C#谈谈你对面向对象的认识?答案:面向对象是一种编程思想,也是一种设计理念。在软件编程中,面向对象有几个基本的概念,他们是:类、对象、继承、封装和多态。而正是这些元素构成了面向对象设计开发的基本逻辑。而实际上,理解面向对象一个重要的方法就是以实际的生活来类比对象世界,对象世界的逻辑和我们生活得逻辑形成对比的时候,这种体验将会更有亲切感。面向对象的三大特征是:封装、继承、多态;封装隐藏了类内部的具体实现细节,对外则提供统一访问接口,来操作内部数据成员。这样实现的好处是实现了UI分离,程序员不需要知道类内部的具体实现,只需按照接口协议进行控制即可。同样对类内部来说,封装保证了类内部成员的安全性和可靠性。继承,就是面向对象中类与类之间的一种关系。继承的类称为子类、派生类,而被继承类称为父类、基类或超类。通过继承,使得子类具有父类的属性和方法,同时子类也可以通过加入新的属性和方法或者修改父类的属性和方法建立新的类层次。 多态分为基类继承式多态和接口实现式多态。几类继承多态的关键是继承体系的设计与实现,而接口实现式多态通过实现接口的方法约定形成继承体系,具有更高的灵活性。你如何理解事件与委托的概念?答案:事件:事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发事件的对象叫做事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。在C#中,事件与委托一起使用来实现事件处理。在实现事件时,需要3个相互联系的元素:提供事件数据的类(消息)、事件委托和引发事件的类。委托:委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。委托可以理解成类型安全的函数指针。类和结构的异同?答案:class(类)是面向对象编程的基本概念,是一种自定义数据结构类型,通常包含字段、属性、方法、构造函数、索引器、操作符等。。struct(结构)是一种值类型,用于将一组相关的信息变量组织为一个单一的变量实体。,因此是一种值类型。相同点:语法类似;不同点:class是引用类型,;struct是值类型,,因此不具多态性。从职能观点来看,class表现为行为;而struct常用于存储数据;class支持继承,可以继承自类和接口;而struct没有继承性,struct不能从class继承,也不能作为class的基类,但struct支持接口继承;class可以声明无参构造函数,可以声明析构函数;而struct只能声明带参数构造函数,且不能声明析构函数。因此,struct没有自定义的默认无参构造函数,默认无参构造器只是简单地把所有初始化为它们的0等价值。实例化时,class要使用new关键字;而struct可以不使用new关键字,如果不以new来实例化struct,则其所有的字段将处于未分配状态,直到所有字段完成初始化,否则引用未赋值的字段会导致编译错误;class可以为抽象类(abstract),可以声明抽象函数;而struct不能为抽象类,也不能声明抽象函数;class可以声明protected成员、virtual成员、sealed成员和override成员;而struct不可以,,Equals()、ToString()和GetHashTable();class的对象复制为浅拷贝和深拷贝,必须经过特别的方法来完成复制;而struct创建的对象复制简单,直接以等号连接即可;class实例由垃圾回收机制来保证内存的回收处理;而struct变量使用完成后立即自动解除内存分配;作为参数传递时,class变量和struct变量有所不同;实现一个主要用于存储数据的结构时,应该考虑struct;Struct变量占有堆栈的空间,因此只适用于数据量相对小的场合;结构数组具有更高的效率;提供某些和非托管代码通信的兼容性。抽象类和接口的异同?答案: 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数以及常量。抽象类提供多个派生类共享基类的公共定义,它既可以提供抽象方法,也可以提供非抽象方法。抽象类不能实例化,必须通过继承由派生类实现其抽象方法,因此对抽象类不能使用new关键字,也不能被密封。如果派生类没有实现所有的抽象方法

最近更新

XX疾病之谜解析-机制探索与治疗突破 28页

现代交换原理IP交换技术公开课获奖课件赛课一.. 36页

中国西部高端装备制造业产业发展的机遇与挑战.. 50页

状态空间模型和卡尔曼滤波公开课获奖课件赛课.. 30页

物质构成的奥秘知识结构图公开课获奖课件赛课.. 37页

餐厅环保措施介绍-餐厅环保措施重要性 24页

托物言志一点通微课公开课获奖课件赛课一等奖.. 16页

异常Q波公开课获奖课件赛课一等奖课件 25页

关于变频调速给水的节能问题 20页

5年级第二十一讲假设法解题 24页

财务管理的基本原则-财务总监角色演讲稿 24页

执行力优秀公开课获奖课件赛课一等奖课件 90页

文化课程批判性解读-洞察阐释 37页

怎样放的更大公开课获奖课件赛课一等奖课件 41页

法律行业:行为习惯-法律教育专家演讲 25页

输液泵及微量泵的使用 21页

民族医院:挑战与机遇-探索未来发展的路线图 24页

直播电商营销趋势-洞察阐释 39页

输尿管双J管的护理 16页

某房地产公司岗位职责制度汇编 121页

2025年装配式建筑项目建议书 47页

2025年铀及其转化物项目建议书 67页

2025年钨酸合作协议书 76页

长城汽车四化研究公开课获奖课件赛课一等奖课.. 35页

2025年精酿啤酒合作协议书 67页

2025年碱式硫酸铬合作协议书 57页

职场人士最好的时间管理公开课获奖课件赛课一.. 44页

设备维护外包合同 5页

五行基础知识 16页

2024年普通高等学校招生全国统一考试英语(浙江.. 10页