31 计算属性
计算属性以字段式语法提供访问器行为。
norm
class Counter {
Integer stored
Counter(Integer initial) {
stored = initial
}
Integer value {
get { return stored }
set(next) { stored = next }
}
}
main() {
Counter counter = Counter(initial: 2)
counter.value = 5
printLine(counter.value)
}预期输出:
text
5stored 是实际存储字段。读取 value 调用 get,赋值调用 set(next);属性本身不另占存储字段。去掉 setter 后它成为只读属性。
动手试试:让 setter 额外加一,再观察读取结果。
详细规则:参考。