收藏 分销(赏)

C#简答题-3.doc

上传人:天**** 文档编号:3372796 上传时间:2024-07-03 格式:DOC 页数:3 大小:28.50KB 下载积分:5 金币
下载 相关 举报
C#简答题-3.doc_第1页
第1页 / 共3页
C#简答题-3.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
1. 面向对象系统最突出的特点是什么,优点? 1.三个基本特征:封装、继承、多态 2.允许用实体或对象的思想方法来分析和设计应用程序,从而使软件开发过程更接近人的思维过程,并极大地提高程序设计的效率。 2. 简述变量(标示符)命名的规则,有哪几种常用的命名样式? 1.要使用可以准确说明变量/字段/类的完整的英文描述符,如firstName。对一些作用显而易见的变量可以采用简单的命名,如在循环里的递增(减)变量就可以被命名为 “i”。   2.要尽量采用项目所涉及领域的术语。   3.要采用大小写混合,提高名字的可读性。为区分一个标识符中的多个单词,把标识符中的每个单词的首字母大写。不采用下划线作分隔字符的写法。     有两种适合的书写方法,适应于不同类型的标识符:       PasalCasing:标识符的第一个单词的字母大写;       camelCasing:标识符的第一个单词的字母小写。 3. 简述接口和抽象类的相同点和区别 1. 相同点: ①都不能直接被实例化,都可以通过继承实现其抽象方法。 ②都是面向抽象编程的技术基础,实现了诸多的设计模式。 2.不同点: ①接口支持多继承;抽象类不能实现多继承。 ②接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。 ③接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。 ④接口可以用于支持回调;抽象类不能实现回调,因此继承不支持。 ⑤接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;⑥抽象类可以定义字段、属性、包含有实现的方法。 ⑦接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。例如,struct就可以继承接口,而不能继承类。 4. 重载、覆盖的区别 重载指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。 过载也称重写是指子类对父类中虚函数或抽象函数的“覆盖”(这也就是有些书将过载翻译为覆盖的原因),但是这种“覆盖”和用new关键字来覆盖是有区别的。 new:覆盖指的是不同类中(基类或派生类)有两个或多个返回类型、方法名、参数都相同,但是方法体不同的方法。 但是这种覆盖是一种表面上的覆盖,所以也叫隐藏,被覆盖的父类方法是可以调用得到的。 5. C#图形编程中,有几种类型的画刷 ① SolidBrush ② HatchBrush ③TextureBrush ④ PathGradientBrush 6. C#图形编程中,有几种创建图形对象的方法,请列举? 1.通过 OnPaint,使用 PaintEventArgs 中提供的对象 2.通过代码中的其他区域,该函数是 Control 的一个方法,可以用来创建任何控件的图形对象 3.直接在一个位图中绘制 7. 为什么要使用线程同步?为了解决线程的同步问题,可以采用哪几种方法。 1.保护应用程序的资源不被破坏 2. ①volatile关键字 ②lock关键字 ③System.Threading.Interlocked ④Monitor ⑤Mutex ⑥ReaderWriterlock ⑦ SynchronizationAttributer ⑧MethodImplAttribute ⑨同步事件和等待句柄 8. 线程优先级有哪些?设定线程优先级的方法?线程优先级的设定对线程有何影响? 1. 由高到低:Highest、AboveNormal、Normal 、BelowNormal、Lowest 2. Thread类Priority属性设置; 3.设定线程的优先级,可以安排一些相对重要的线程优先执行 9. C#图形编程中,有几种创建图形对象的方法,请列举? 1. 通过 OnPaint,使用 PaintEventArgs 中提供的对象 2. 通过代码中的其他区域,该函数是 Control 的一个方法,可以用来创建任何控件的图形对象 3. 直接在一个位图中绘制 10. 几种静态和非静态方法的区别(静态成员、非静态成员、静态构造函数、非静态构造函数、静态方法、非静态方法)   1.C#静态成员:     ①静态成员属于类所有,非静态成员属于类的实例所有。     ②每创建一个类的实例,都会在内存中为非静态成员新分配一块存储;     非静态成员属于类所有,为各个类的实例所公用,无论类创建了多少实例,     类的静态成员在内存中只占同一块区域。 2.C#静态方法 ①C#静态方法属于类所有,类实例化前即可使用。  ②非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员。     ③因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存,     这样,C#静态方法调用时无法判断非静态变量使用的内存地址。所以无法使用。而静态变量的地址对类来说是固定的,故可以使用。  3.C#静态方法是一种特殊的成员方法     它不属于类的某一个具体的实例,而是属于类本身。所以对静态方法不需要首先创建一个类的实例,而是采用类名.静态方法的格式 。    ①static方法是类中的一个成员方法,属于整个类,即不用创建任何对象也可以直接调用!     static内部只能出现static变量和其他static方法!而且static方法中还不能使用this....等关键字..因为它是属于整个类!    ②静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。    ③静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存.    ④C#中的方法有两种:实例方法,静态方法.   4.C#静态方法中获取类的名称     静态方法中用: string className =    System.Reflection.MethodBase.   GetCurrentMethod().ReflectedType.FullName;      非静态方法中还可以用: string className = this.GetType().FullName;       C#静态方法与非静态方法的区别解析旨在诠释C#静态方法的含义 11. 简述如何用command和connect对象对数据库进行操作。 1. 建立数据库连接对象(connection对象) 2. 打开数据库连接(connection对象open方法) 3. 建立数据库命令对象,指定命令对象所使用的连接对象(command) 4. 指定命令对象的属性(CommandText属性) 5. 执行命令(command的方法,如ExecuteReader) 6. 操作返回结果(对SqlReaderData对象进行读取) 7. 关闭数据库连接
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服