摘要: 提起属性,我们都不陌生。它用起来就像访问public数据成员一样,但实际上是调用了内部定义的相应方法。通过使用属性保持了较好的数据封装,而且访问很方便,接下来我们共同复习以下CLR允许定义的两种属性:无参属性和有参属性(索引器)。一、 无参属性1. 定义属性无参属性就是我们最常见的属性方式,在赋值时可以加入一定的逻辑判断。属性的定义其实不复杂,先看个直观的例子:说明:属性要定义名称和类型,且类型不能是void。属性是不能重载的。我们不能定义名称相同、类型不同的两个属性。属性一般需要定义get和set方法来操作类内部的私有支持字段,如上面的_name, _age等。Set方法中包含隐藏参数叫做v 阅读全文
posted @ 2012-06-04 13:56 小鱼1982 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 使用索引器使用索引器,以数组风格访问对象声明get accessor控制索引器读取访问声明set accessor控制索引器写入访问在接口中声明索引器在从接口继承的结构和类中实现索引器引言类(结构)成员可以有很多,当用不同类型的单个私有字段时,用属性解决封装与隐藏问题——很好。但当类中的字段是一个数组时,会出现问题在程序中写如下语句较另人费解 bits&(1<<5)!=0 判断bits这个整数的第5位是否是1 bits&=~(1<<5) 设置bits这个整数的第5位清为0 bits|=(1<<5)设置bits这个整数的第5位置为1用户易于理解 阅读全文
posted @ 2012-06-04 13:54 小鱼1982 阅读(370) 评论(0) 推荐(0) 编辑