7-14复习

复习内容

1-22简答题

面向对象的三大特性
封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
继承:就是让一个类型的对象拥有另一个类型的对象的属性的方法。
多态:同一个类型的对象在执行同一个方法时,可以表现出多种行为特征。
请列出C#中几种循环的方法,并指出他们的不同
while循环:通常用于不确定的循环次数时去使用它
do…while循环:功能上和while基本类似,不同之处它保证了循环至少执行一次
for 循环:主要用于循环次数固定的循环
foreach循环:是一种十分高效的循环,主要用来遍历可枚举类型IEnumerable,比如数组ArrayList、列表List等都可以使用
如何声明一个类不能被继承
C#通过关键字 sealed 可以声明一个类型不能被继承。
public sealed class A
静态类
public static class A
静态类和静态方法的好处
好处是:在外部调用静态方法时,可以使用"类名.方法名"的方式,无需创建对象。静态类最大的特点就是共享、执行速度快,而且可以防止继承。
补充:(缺陷是:静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制)
静态类与普通类的区别?
静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量。
在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。
C#中string 和String 有什么区别
两者本质上没有任何区别,都是System.String,只是书写习惯问题。可以认为,string是System.String的别名而已
简述 private、 protected、 public、 internal 修饰符的访问权限。
private:私有成员,在类的内部才可以访问。
protected:保护成员,该类内部和继承类中可以访问。
public:公共成员,完全公开,没有访问限制。
internal:当前程序集内可以访问。
简述ADO.NET中的五个主要对象
Connection:主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,是无法从数据库中取得数据的。Close和Dispose的区别,Close以后还可以Open,Dispose以后则不能再用。
Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及调用存在数据库中的存储过程等。这个对象是架构在Connection对象上,也就是Command对象是透过连接到数据源。
DataAdapter:主要是在数据源以及DataSet之间执行数据传输的工作,它可以透过Command对象下达命令后,并将取得的数据放入DataSet对象中。这个对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。
DataSet:这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来,DataSet是放在内存中的。DataSet的能力不只是可以储存多个Table而已,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet对象可以说是ADO.NET中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataAdapter对象当做DataSet对象以及数据源间传输数据的桥梁。DataSet包含若干DataTable、DataTable包含若干DataRow。
DataReader:当我们只需要循序的读取数据而不需要其它操作时,可以使用DataReader对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,这些数据是存在数据库服务器中的,而不是一次性加载到程序的内存中的,只能(通过游标)读取当前行的数据,而且这些数据是只读的,并不允许作其它的操作。因为DataReader在读取数据的时候限制了每次只能前进读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好。使用DataReader对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。
ADO.NET支持哪两种方式来访问关系数据库
连接模式:可通过command(命令)对象执行SQL语句或存储过程。如果执行的结果返回的是一个记录集,则可以使用DataReader(数据读取器)对象读取数据。这里需要注意,DataReader ADO.NET的连接模式只能返回向前的、只读的数据,这是因为DataReader对象的特性决定的。非连接模式:在数据集方式中,操作数据的基本过程是首先使用数据适配器将数据加载到内存中(数据集对象),在数据集对象中操作数据,然后再使用数据适配器将更改会写到数据库中。就现在的经验来说,非连接模式大大减少了对连接的占用频率。
重载(Overload )和覆写(Override)的区别
概念:重载方法名相同,参数列表不同(参数类型及个数);覆写方法名、返回值类型、参数类型及个数完全相同
范围:重载在一个类中,覆写在继承关系中
限制:重载没有权限要求,覆写的方法的访问权限不能比父类更严格
属性和public字段的区别是什么?
属性可以对设值、取值的过程进行非法值控制,比如年龄禁止设值负数,而字段则不能进行这样的设置。虽然一般情况下get读取的值就是set设置的值,但是可以让get读取的值不是set设置的值的
请叙述属性与索引器的区别
1、属性名可自定义,索引器必须以this命名。
2、属性可以为实例或静态,索引器必须是实例的。
3、索引器有索引参数列表,而属性没有。
什么是装箱(boxing)和拆箱(unboxing)?
将值类型转换为引用类型的过程称为装箱 反之称为拆箱
类(class)与结构(struct)的异同?
Class可以被实例化,属于引用类型,是分配在内存的堆上的;Struct属于值类型,是分配在内存的栈上的
值类型和引用类型的区别?

接口和类有什么异同
不同点:不能直接实例化接口。接口不包含方法的实现。接口可以多继承,类只能单继承。类定义可在不同的源文件之间进行拆分。 相同点:接口、类和结构都可以从多个接口继承。接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。接口和类都可以包含事件、索引器、方法和属性。

说出一些常用的类、接口,请各举5个
5个类:System.Object 最基本的对bai象System.Windows.Forms.Form Form窗体System.Collections.ArrayList 集合ArrayListSystem.Threading.Thread 线程
DataTable Command DataReader DataAdapter DataSet

abstract class和interface有什么区别?
1.抽象类(abstract class)抽象类是一种特殊的类,有如下的特点:.抽象方法制作声明,不包含具体的实现,可以看做是没有重写的虚方法..抽象类不能被实例化.具有其他类相同的特性..抽象类可以没有抽象方法和抽象属性,但是一旦有了抽象方法,就一定要把这个类声明为抽象类..具体派生类必须要覆盖基类的抽象方法..抽象类可以派生自另一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果覆盖,则其他派生类也必须覆盖他们.2.接口(interface)接口是引用类型的,类似抽象类但又不同于抽象类..不能被实例化..只能包含实现的方法声明..成员可以包括方法,属性,索引器和事件..接口中不能包含常量,字段(域),构造函数,析构函数或者静态成员..接口中的所有成员默认为是public,因此接口中不能有private修饰符..派生类必须实现接口中的所有成员..一个类可以直接实现多个接口,接口之中用逗号隔开..一个接口可以有多个父接口,实现该接口的类必须实现所有接口中的所有成员.

string str = null 与 string str =""说明其中的区别。
string str= " ",表示一个空串,被实列化了,占用了内存空间,
string str=null,表示一个空引用,没有占用了空间,

简述ASP.NET中六大常用内置对象
Response对象
Request对象
Server对象
Application对象
Session对象
Cookie对象
请写出在ASP.NET中常用的几种页面间传值的方法,并说出它们的特点。
(1)QueryString 传递一个或多个安全性要求不高或是结构简单的数值。但是对于传递数组或对象的话,就不能用这个方法了
(2)session(viewstate) 简单,但易丢失 作用于用户个人,过量的存储会导致服务器内存资源的耗尽。
(3)application 对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock cookie 简单,但可能不支持,可能被伪造
(4)Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用 input type="hidden"简单,可能被伪造
(5)url参数简单,显示于地址栏,长度有限
(6)Server.Transfer 把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流 数据库稳定,安全,但性能相对弱
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
对于ASP.NET服务器端控件可以使用,ClientScriptManager的RegisterStartupScript等相关实例方法。这其中可以定义与客户端脚本交互的JavaScript。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页