C#程序设计08__属性和索引器.ppt
文本预览下载声明
第8章 属性和索引器 8.1 属性 8.2 索引器 8.1.1 属性的定义 属性的定义形式为: 或: 8.1.2 属性访问器 1.get访问器 get访问器是一个不带参数的方法,它用于向外部返回属性成员的值。 它的基本格式为: [修饰符] get{访问体} get访问器必须以一条return语句结束,或者是一条异常抛出语句throw。 2.set访问器 set访问器是一个带有单个参数并且返回类型为void类型的方法,它用于处理类外部的写入值,其中参数类型就是属性的类型。 它的基本格式为: [修饰符] set{访问体} set访问器带有一个特殊的关键字value。 一个属性不一定需要既具备get访问器,又具备set访问器。 8.1.3 静态属性 如果属性在声明时指定了static修饰符,那么该属性就是一个静态属性,否则,该属性为一个实例属性。 静态属性与特定的实例无关,而实例属性与类的特定实例相关。 访问静态属性成员时,如果采用成员访问形式(E.M),那么E必须代表一个类型;以成员访问形式访问实例成员时,E必须代表一个实例。 8.1.4 虚拟、重载和抽象 对于一个非静态的属性,它的声明中可以包括virtual或者abstract修饰符,并且不要求每个访问器都是相同的。 属性也具有多态性,可以在基类的属性定义前添加修饰符virtual,在派生类中重载属性的get或set访问器。 一个派生类中属性的虚访问器可以重载基类中的对应访问器,一个重载属性并不是声明了一个新的属性,而只是实现了一个属性中的虚访问器。 8.2.1 索引器的定义 class 类名 { [特征] [修饰符] 类型 this[索引参数表] { get { //代码体 } set { //代码体 } } } 8.2.2 索引器的使用 1.索引器的使用 索引器的用法与数组大致相同。定义了一个索引器以后,就可以对对象使用方括号表示法([])来读、写对象中的值。 2.索引器的重载 用户可以自由选择字符串或其他类型做索引创建索引器。 索引值可以重载,这样索引给定集合时,可以按用户需要使用整数值或字符串值。 3.多索引器的使用 在同一个类中可以定义多个索引器。 多索引器在使用时,依靠索引器的参数表进行区分。 * *
显示全部