background image

派生类只能有一个基类,即只能继承一个抽象类(但可以用一个继承链包含多个抽象类).相反,类可以使用
任意多个接口
抽象类可以拥有抽象成员(没有代码体,且必须在派生类中实现,否则,派生类也是抽象类),也可以拥有非抽
象成员(他们拥有代码体,也可以是虚拟的,这样就可以在派生类里重写).另一方面,接口成员必须都在使用
接口的类上执行,因为它们没有代码体
接口成员被定义为公共的(因为他们倾向于在外部使用),但抽象类的成员却可以使私有的(只要它们不是
抽象的)、受保护的、内部的或受保护内部成员(其中受保护的内部成员只能在应用程序集的代码或派生类
中访问).另外,接口不包含字段,构造函数、析构函数、静态成员和常量.但可以包含:方法、索引器、属性、事
件、代理等的定义,但不包含实现.
访问修饰符:

Public 修饰的成员可以由任意代码访问

Private 修饰的成员只能由类中的代码访问(如果没有使用任何关键字,就默认此)

Protected 成员只能由类和派生类中的代码访问

Internal 修饰的成员只能有定义它的工程(程序集)内部的代码访问

Protected internal 它们只能有工程(程序集)中派生类的代码访问

字段、方法、属性还都可以使用关键字 static 来声明.表明是属于类的静态成员,不是对象实例的成员
方法修饰符:

Virtual 方法可以重写

Abstract 方法必须重写(只限于抽象类中)

Override 方法重写了一个基类的方法(如果方法被重写,就必须使用此关键字)

External  访问外部资源(如: 系统 Win32 

 

或 API )

Override sealed 指定在派生类中不能对此方法进一步的修改

Checked 

 

和 unchecked

For Example:

Int i = int.MaxInt;//表示带符号 int 变量能够存储的最大值 2147483647

Checked

unchecked

{

{

  i++;//执行本块代码时,将抛出异常  i++; //

 “

执行本块代码时将不检查是否 溢出 ,-2147483648

}

}

接口的定义:

1.

不允许使用访问修饰符(public ,protected,private ,internal 等等),所有成员都是公共的

2.

接口成员不能包含代码体

3.

接口不能定义域成员(属性)

4.

接口成员不能使用关键字

static

virtual

abstract

sealed

来定义,

 

可以使用关键字

virtual

abstract

来执行接口成员,但不能使用

static

const

5.

类型定义成员是禁止的. 但要隐藏继承了基接口的成员,可以用关键字 new 来定义他们

ADO 与 ADO.NET:
 

ADO 与 ADO.NET 既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作

的应用程序,并且易于使用、高速度、低内存支出和占用磁盘空间较少,支持用于建立基于客户端/服务

 

器 和 Web  的应 用程 序 的主 要 功能 。 但是 ADO 使用 OLE DB 接口 并基 于 微软 的 COM 技 术, 而
ADO.NET 拥有自己的 ADO.NET 接口并且基于微软的.NET 体系架构。众所周知.NET 体系不同于 COM
体系,ADO.NET 接口也就完全不同于 ADO 和 OLE DB 接口,这也就是说 ADO.NET 和 ADO 是两种数
据访问方式

ADO 以 Recordset 存储,而 ADO.NET 则以 DataSet 表示。Recordset 看起来更像单表,如果让