在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的功能,这些功能可以指导使用该语言时的最佳实践。
get {}
?我不知道,谢谢!