字段,属性,索引器,常量

 这四种成员都是用来表达数据的。

1.字段(field)

  (1)什么是字段

字段是一种表示与对象或类型(类与结构体)关联的变量。为一个对象或类型存储数据。多个字段组合起来可以表示对象或类型的状态。

  字段是类型的成员,旧称成员变量。

    与对象相关联的字段亦称“实例字段”,隶属于实例对象。

    与类型关联的字段称为“静态字段”,由static修饰,表示类型状态。

  (2)字段的声明

字段是类的成员,声明于类体里。

  构成:可选的特性+可选的字段修饰符+字段数据类型+变量声明器(变量名/变量名加初始化器);

             尽管字段声明带有分号,但它不是语句。

             字段的名字一定是名词。

  (3)字段初始值

  无显式初始化时,字段获得其类型的默认值,所以字段永远都不会未被初始化。

  实例字段初始化时机——对象创建时。

  静态字段初始化的时机——类型被加载(load)时,即静态构造器被加载的时候。

  (4)只读字段

  实例只读字段,唯一的初始化机会是在实例构造器里为它赋值。

  静态只读字段,初始化机会只有一个,在静态构造器里。

2.属性(porperty)

(1)什么是属性

是一种用于访问对象或类型的特征的成员,特征反映了状态。

  属性是字段的自然扩展。对外可以实时动态的计算出对象或类型的特征。对内可以防止数据的污染。

  属性由get何set方法对进化而来。

  (2)属性如何声明

  完整声明——后台(back)与访问器(注意使用code snippet和refactor工具),可选特性+属性的修饰符+属性数据类型+属性名字{get和或set}

 简略声明——只有访问器。

  动态计算值的属性。

  注意实例属性和静态属性。

  属性的名字一定是名词。

  只读属性——只有getter没有setter

  (3)属性与字段的关系

  一般情况下,它们都用于表示实体(对象或类型)的状态。

  属性大多数情况下是字段包装器。

  建议:永远使用属性而不是字段来暴露数据,即字段永远是private。

3.索引器

(1)什么是索引器

索引器是这样一种成员:它使对象能够用与数组相同的方式(即下标)进行索引。

索引器一般用于集合类型里。

4.常量

(1)什么是常量

常量是表示常量值,即可以编译时计算的值的类成员。

常量属于类型而不是对象,即没有实例常量。

注意区分成员常量(类.常量的名字)与局部常量(用于组成方法体中的算法)。

4.各种只读应用的场景:

  常量——用于提高程序可读性和执行效率

  只读字段——为了防止对象的值被改变

  只读属性——向外暴露不允许修改的数据,功能与常量有一些重叠。

  静态只读字段——当希望成为常量的值其类型不能被常量声明接受时(类/自定义结构体)。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值