自定义访问器
这-节将向你展示怎样写一个属性访问器的自定义实现。假设你声明这样一个 矩形,它能判断自己是否是正方形。 不需要一个单独的字段来存储这个信息(是否 是正方形),因为可以随时通过检查矩形的长宽是否相等来判断 :
class Rectangle(val height: Int, val width: Int) { //
val isSquare: Boolean
get() { //声明属性的getter方法
return height == width
}
}
属性 isSquare 不需要宇段来保存它的值。它只有一个自定义实现的 getter。 它的值是每次访问属性的时候计算出来的。 注意,不需要使用带花括号的完整语法,也可以这样写 get () = height == width。对这个属性的调用依然不变 :
用法如下:
val rectangle = Rectangle(41, 43)
println(rectangle.isSquare)
打印:false