Skip to content

Latest commit

 

History

History
25 lines (19 loc) · 894 Bytes

属性和字段.md

File metadata and controls

25 lines (19 loc) · 894 Bytes

属性和字段

属性和字段

先说几个概念

  • 初始器、属性的访问器这个两个说的都是getter 和 setter 方法,翻译的问题。到底应该叫什么,我也不知道,反正知道意思就可以了
  • 幕后字段、后备字段这个两个说的field 这里有个坑,下面会介绍到  
    
    open class Person {
      var name: String = "adsf"
          get() {
              return field
          }
          set(value) {
    

           this.name = value//这是错的 正确的应该是 field = value        }

}



对于 **field 标识符只能用在属性的访问器内。** 的理解:当我们访问 object.name = value的时候
实际是调用了该对象的set方法。field只能在get()set()方法中使用,get(),set()方法中只能用field标示符。