计算属性
与存储的属性不同,计算属性是使用 getter 和 setter 构建的,在访问和设置时执行必要的代码。计算属性必须定义类型:
var pi = 3.14
class Circle {
var radius = 0.0
var circumference: Double {
get {
return pi * radius * 2
}
set {
radius = newValue / pi / 2
}
}
}
let circle = Circle()
circle.radius = 1
print(circle.circumference) // Prints "6.28"
circle.circumference = 14
print(circle.radius) // Prints "2.229..."
仍然使用 var
声明只读计算属性:
var circumference: Double {
get {
return pi * radius * 2
}
}
可以缩短只读计算属性以排除 get
:
var circumference: Double {
return pi * radius * 2
}