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 {}
?知らなかった、ありがとう!