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