在 Swift WWDC 会话介绍中,演示了一个只读属性 description
:
class Vehicle {
var numberOfWheels = 0
var description: String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description)
选择上述方法而不是使用某种方法是否会产生任何影响:
class Vehicle {
var numberOfWheels = 0
func description() -> String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description())
在我看来,选择只读计算属性最明显的原因是:
description
作为类的一个属性而不是它执行的一个操作是有意义的。很明显,上面的例子过于简单,但是有没有其他好的理由选择其中一个而不是另一个呢?例如,是否有一些函数或属性的特性可以指导您决定使用哪些函数或属性?
注意。乍一看,这似乎是一个相当常见的 OOP 问题,但我渴望知道任何特定于 Swift 的特性,可以指导使用这种语言时的最佳实践。