C#期末复习资料.doc

上传人:h**** 文档编号:1412059 上传时间:2019-02-24 格式:DOC 页数:8 大小:140.01KB
下载 相关 举报
C#期末复习资料.doc_第1页
第1页 / 共8页
C#期末复习资料.doc_第2页
第2页 / 共8页
C#期末复习资料.doc_第3页
第3页 / 共8页
C#期末复习资料.doc_第4页
第4页 / 共8页
C#期末复习资料.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、一、 .NET 简介与基本语法 .NET Framework 的组成 解答:第一种 .(笼统的的答案) NET Framework 由两部分组成:一、公共语言运行时 ( CLR);二、 .NET Framework 类库; 另外一种比较完整的解答: 1.程序设计语言及其公共语言规范( CLS); 2.应用程序平台( ASP.NET 及 Window 应用程序等); 3.ADO.NET 及类库; 4.公共语言运行时( CLR); 5.开发环境( Visual Studio.NET) .NET 中主要名称空间及其作用 解答: System.Data 用于访问 ADO.NET(使用 DataTabl

2、e、 DataSet 对象) System.IO 用于操作文件 System.Windows.Forms 用于开发 Windows 应用程序(可以使用 MessageBox、 Form 对象) System.Collections.Generic 可以使用泛型 System.Net 可以对网络协议进行编程 System.Security 提供系统的安全控制功能 System.Data.SqlClient 用于访问 ADO.NET(使用 SqlConnection、 SqlCommand 等对象) System.Xml 用于处理 XML、 XML 架构、 XSL/T 转换等 System.Web

3、 用于 Web 服务器及浏览器交互等 C#基本语法 二、面向对象 为什么要封装,定义属性的两个访问器,方法的重载,方法参数的引用有几种方法,有什么区别,构造函数的作用是什么,静态方法和实例方法的区别 为什么要封装: 封装可以有效地保证数据的安全性,并能隐藏类的实现细节,提高程序的可 靠性和安全性,避免不必要的 错误出现,提高了程序的抗干扰性。 定义属性的两个访问器 : get 访问函数(访问器); set 访问函数(访问器); 方法的重载 : 所谓方法重载是指同一个方法名可以对应多个方法实现,只要他们的参数类型、 参数顺序或者参数个数不完全相同; 方法参数的引用有几种方法 : 1.值传递方式传

4、递和值引用方式传递; 2.输出型参数方式传递; 3.数组型参数方式传递; 区别: 一、 对于值类型的参数,实参的值将被复制一份给形参,方法代码中对形参的修改并不会 影响到实参; 二、 对于引用类型的参数传递,形参和实 参实际上会只向同一个对象,代码中对形参的修改 会直接作用于实参,引用传递的参数通过 ref 关键字加以修饰; 三、 输出型参数也是采用引用传递方式,但其形参要求在方法返回之前必须被赋值,输出型 参数用 out 关键字加以修饰; 四、 方法中只允许定义一个数组型参数,而且该参数必须位于参数列表中的最后,数组型参 数所定义的数组必须是一维数组,数组型参数不能同时作为引用型参数或者输出

5、型参数; 构造函数的作用是什么 : 构造函数函数名称和类名相同,且不声明返回值类型,其主要作 用是完成对象的初始化工作 静态方法和实例方法的区别 使用 static 修饰的方法称为静态方法;使用实例对象调用的方法叫做实例方法 为什么要继承,继承如何实现,子类调用父类的属性和方法的关键字是什么,什么是隐式地调用父类的构造函数,继承具有单根性、传递性 为什么要继承 : 1.模拟了现实世界的关系 , 实现代码重用 , 结构更清晰 ; 2.继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系 ; 3.继承提供了软件复用功能 ;4.继承通过增强一致性来减少模块间的接口和界面,大大增加了程序

6、的易维护性。 继承 如何实现 : class : ,派生类代码 子类调用父类的属性和方法的关键字是什么 : base 什么是隐式地调用父类的构造函数 : 若果要创建一个派生类的实例,在执行其构造函数代码之前,会隐式地调用基类的构造函数,也就是说在创建一个派生类对象的时候,公共语言运行时会根据继承的层次链找到最后的基类,首先调用基类的构造函数,然后依次调用各级派生类的构造函数; 继承具有单根性 : C#中子类不能继承多个父类 继承具传递性 : C#中的类的继承可以传递; 什么是多态,如何 实现多态,抽象方法、抽象类如何构造,虚方法、抽象方法有什么联系和区别 。 什么是多态 : 同一操作作用于不同

7、的对象,可以有不同的解释,产生不同的执行结果。 也就是说同一事物在不同条件下可以有不同的形态, C#中有编译时多态和运行时多态两种; 如何实现多态 : 对于多态的实现 ,有三个关键字 new,virtual,override 的使用 抽象方法、抽象类如何构造 : 在 c#中使用 abstract关键字创建仅用于继承用途的类和类成员,即定义派生非抽象类的动能;c#中同样用 abstract 关键字将此方法定义为抽象方法,并且 在实现类中用 override 修饰符修饰此方法; 虚方法、抽象方法有什么联系和区别 : 为什么要接口,接口如何定义,接口作为返回值和参数的意义、接口和抽象类有何区别 结构

8、如何定义,结构和类的区别 为什么要接口 : C#语言规定一个类只能有一个直接基类,但可以同时支持多个接口,这能够有效的弥补单继承在表达能力上的不足。接口是一种抽象数据类型,它所描述的是功能的“契约”,而不考虑与现实有关的任何因素。接口一旦发布,就不应再做修改,否则就会导致所有支持该接口的类型都变得无效 。 有了接口可以设计出高质量的代码,并且以另一种方式实现类似多继承之类的功能; 接口如何定义 : C#中接口使用关键字 interface 来定义接口的类型,其成员只能是一般方法、属性和索引函数,而不能有字段和构造函数 。 接口作为返回值和参数的意义 : 1. 接口作为参数 传递了实现接口的对象

9、 2. 接口作为返回值 返回一个实现了接口的对象 接口和抽象类有何区别 : 不同点 : 抽象类 (用 abstract 定义、只能继承一个类,定义的对象不能实例化、非抽象派生类必 须实现抽象方法、需要用 override 实现抽象方法、抽象类中除了抽象方法之外还可以定义其他方法和字段) 接口 (用 interface 定义、可以实现多个接口、实现接口的类必须实现所有的成员、直接实现、只能定义抽象方法) 相同点: 可以定义对象,但不能实例化对象,可以利用多态性,实现接口或派生类对象的方法的操作! 结构和类的区别 : 结构的定义用关键字 struct 来修饰,结构类型可以有成员变量和成员方法。 区

10、别: 1、 结构体定义的字段不能初始化; 2、 结构体如果需要调用有参数的构造函数要用 new,没有参数的话不用 new。 3、 结构 体是值类型,不是引用类型。 4、 结构体的构造函数一定要有参数,而类的可以没有参数。 静态类和非静态类的区别 : 只能在抽象类中 除了密封类都可以写 必须被子类 override 可以被子类 override 不允许有方法体 要有方法体,哪怕是一个分号 用 abstract 修饰 用 virtual 修饰 抽象方法 虚方法虚方法 静态的从程序一启动就会一直占用内存 ,不能被实例化, 而非静态的只在使用后(实例化 )后才会占用内存 .但是每实例化个一个对象时又会

11、另外占用内存 . 值类型,引用类型,装箱,拆箱 : 整型,浮点型,枚举型,布尔型,结构体等基本数据类型是值类型,数组, string,类是引用类型。 所有的类型都有一个共同的基类 object 类, object 类本身是引用类型,所有其他的引用类型都可以和它进行转换, object 又同 时是所有类型的基类。 所有值类型的变量都可以隐式转换为 object 类型,这个过程叫装箱, object 类型可以显示转换到值类型,这个过程叫拆箱。 三、文件操作 如何使得程序中的数据持久化,为什么需要操作文件 : 将信息保存在硬盘等持久性媒介上可以实现数据持久化。为了使程序中的数据持久化,数据库成本太大

12、,需要大量的数据,使用起来不合算,所以需要文件。 读写文件的步骤,两个枚举 FileMode、 FileAccess: 1、 创建一个文件流; 2、创建相应的读写器; 3、执行读写操作; 3、关闭读写器; 4、关闭文件流。 FileMode 指定文件的打开模式,有 6 种情况, P167. FileAccess 指定文件流的读写方式,有 3 种情况, P167. 文件的操作类 :File 和 FileInfo: 静态类 File 的所有方法都是静态的,使用这些方法都需要指定目标文件的路径名,适合对文件只操作一次, FileInfo 是静态类 File的非静态的版本,可以指定文件的路径名来创建一

13、个 FileInfo 对象,而后通过其各种实例方法来实现与 File 类静态方法类似的功能,适合对文件的多次操作。 目录的操作类 Directory 和 DirectoryInfo: Directory 类提供对文件夹的拷贝、移动、删除等操作 . DirectoryInfo 类是一个密封类,它可以用来创建、移动、枚举目录和子目录。 DirectoryInfo 类包括 4 个属性,可以用来获取目录的名称、父目录等。 两者方法类似,区别是 Directory 类提供了静态方法而非实例方法。另外,Directory 类只提供方法,而没有提供任何特性。 序列化 : 定义一个格式化工具 Formatte

14、r,通过它自动获取对象所有字段的名称和值,并将其写入到文件流中;或是从文件流中解析出各字段的名称和值,并以此为依据来创建对象,这种技术叫做串行化或序列化。 四、 ADO.NET 什么是连接环境,什么是非连接环境,各有什么优缺点 连接环境是指用户在这种环境下始终保持与数据源的连接 优点 环境易于实施安全控制 同步问题易于控制 数据实时性优于其他环境 缺点 必须保持持续的网 络连接 扩展性差 在非连接环境中,中央数据存储的一部分数据可以被独立地复制与更改,在需要时可以与数据源中的数据合并 优点 可以在任何需要的时间进行操作,在必要时才连接到数据源 不独占连接 非连接环境的应用提高了应用的扩展性与性

15、能 缺点 数据不是实时的 必须解决数据的并发性与同步问题 数据访问应用模型中各层的概念 客户层,也被称为表现层,主要是用户界面 业务层(中间层),包含业务逻辑的封装以及与数据源交互 数据层,应用中涉及到的数据服务 交互层,提供不同应用,不同平台的集成(如 Web 服务) SqlConnection 的主要属性方法事件 建立与数据源的连接,如 SqlConnection 用于建立与 Microsoft SQL Server 的连接, OleDbConnection 用于建立与任何支持 OLEDB 的数据源的连接 在 Connection 类中常用有两个事件,是 StateChang 事件,另一个

16、是 InfoMessage事件,当 Connection 对象的状态发生改变时将触发 StatuChange 事件。当数据库服务器需要传递隐含的重要信息给客户时,将触发此 InfoMessage 事件。在此事件中,我们可 以通过如 SqlError 对象的相关属性返回由于此次错误的错误级别或错误信息。 SqlCommand 的主要属性方法 执行数据源的命令,如 SqlCommand 可以调用一个 Microsoft SQL Server 的存 储 过 程 , XxxCommand 对象的 ExecuteReader 方 法 可 以 返 回 一 个 XxxDataReader 对象。 SqlDa

17、taAdapter 的主要属性方法 数据适配器的属性 SelectCommand 从数据源中读取数据 InsertCommand 将数据由数据集插入数 据源 UpdateCommand 将数据集中更新的行写回数据源 DeleteCommand 在数据源中删除数据 数据适配器的方法 Fill() 使用由 SelectCommand 属性指定的 Select 语句从数据源中读取 /更新数据到数据集 Update() 对数据集 DataTable 对象中特定的行调用执行 Insert、 Delete、 Update操作的对应的命令对象 什么是事务,如何 使用 ADO.NET 管理事务 事务是一系列相

18、互关联的任务,作为一个整体成功提交或者失败(提交或者回滚),事务具有原子 性,隔离性,一致性,持续性。 DataSet、 DataTable、 DataRow、 DataColumn 的关系和使用 数据集 (DataSet) 与关系数据库相似的对象模型保存数据:表、行、列 可以在数据集中定义约束条件与关联 数据表 (DataTable) 代表了数据集中的表,可以从数据源加载数据 由数据列组成 数据列 (DataColumn) 由 DataType 属性指定对应的数据类型 需要保持数据列的数据类型与数据库列的类型匹配 DataSet DataSet 更新过程中可能发生的并发问题,如何解决 发生冲

19、突: 非连接环境使用了开放式并发机制 在一步数据操作完成后数据库锁立即被释放 非连接环境使用开放式并发机制保证其他资源对数据库的同步访问 保守式并发机制在整个数据操作过程中保持数据库的锁 检测冲突: 数据适配器配置向导可以产生用来监测冲突的 SQL 语句 当更新数据库时 数据更新命令比较数据库中的当前数据与原始值 任何不同都会抛出一个冲突 解决冲突: 使用 HasErrors 属性来测试错误 DataSet.HasErrors DataTable.HasErrors DataRow.HasErrors 选择 下列一种策略解决冲突 1、 用数据集中的值覆盖曾经有过的数据操作, 适用于管理员系统用

20、来强制将数据覆盖数据源中的数据 2、保持数据集中冲突行以便后续重新更新数据库,将冲突的数据保存在数据集中以便重试, “使用开放式并发 ”选项的默认策略 3、 拒绝冲突的行并在数据集中回滚到初始值 ( 1)拒绝在本地数据集中冲突的数据,将数据回滚到从数据库中加载得到的初始值 ( 2) 对冲突的数据集、数据表、数据行调用 RejectChanges()方法 拒绝冲突的行并从数据库得到最近的数据, 调用数据集的 Clear()方法,重新从数据库中加载 数据 五、 XML 文档与操作 XML 文档标记的命名规则,如何使用 XMLDocument 1、 XML文档标记的命名规则 : 标记的命名规则 作为

21、标记名字的字符串必须满足以下要求: 1. 名称的开头必须是字母或“ _”; 2. 标记名称中不能有空格; 3. 名称的字符串只能包含“英文字母”、“数字”、“ _”、“ -”、“ .”等字符。 例如下面的标记就是合法标记: 2、 如何使用 XMLDocument: 9.ppt 六 、 ASP.NET ASP.NET 应用程序的创建 : 10.ppt Page 指令的使用 :10.ppt 中第 23 页 母版页的使用,嵌套,动态调用 ( 11.ppt ) 状态管理的基本特点, ASP.NET 中的状态管理 : 12.ppt 七、集合与泛型 数组的索引器 : 1、定义: 2、 索引器的特点:数组属

22、性只能根据下标(索引)来访问、索引器可以被重载、可以使用更灵活的方式访问,定义访问方式、常用到的索引器 DataReader“列名 ”和 DataRow“列名 ” ArrayList,HashTable, List, Dictionary: ppt3 1、 Dictionary与 HashTable 的异同点: 相同点:通过 key 获取 value、添加对象方法相同、遍历方法相同 不同点: Dictionary增加元素时类型严格检查而 HashTable 可以增加任何类型、 Dictionary无需装箱拆箱而 HashTable 需要装箱拆箱。 2、 ArrayList 与 List的异同点

23、: 相同点:通过索引访问集合的元素、添加对象方法相同、通过索引删除元素 不同点: List增加元素时类型严格检查而 ArrayList 可以增加任何类型、 List无需装箱拆箱而 ArrayList需要装箱拆箱。 八、设计模式与三层架构 简单工厂模式 : ppt6-47 页 +设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法( Static Factory Method)模式,但不属于 23 种 GOF 设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 三层架构 :(百度: http:/ 三层架构 (3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层( UI)、业务逻辑层( BLL)、数据访问层( DAL)。区分层次的目的即为了 “高内聚,低耦合 ”的思想。 1、 表现层( UI):通俗讲就是展现给用户的界面,即用户在使用一个 系统 的时候他的所见所得。 2、 业务逻辑层( BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。 3、数据访问层( DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。