Dans la session Introduction à Swift WWDC, une propriété en lecture seule description
est démontrée:
class Vehicle {
var numberOfWheels = 0
var description: String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description)
Y a-t-il des implications à choisir l'approche ci-dessus plutôt que d'utiliser une méthode à la place:
class Vehicle {
var numberOfWheels = 0
func description() -> String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description())
Il me semble que les raisons les plus évidentes pour lesquelles vous choisiriez une propriété calculée en lecture seule sont:
- Sémantique - dans cet exemple, il est logique
description
d'être une propriété de la classe plutôt qu'une action qu'elle effectue. - Brevity / Clarté - évite d'avoir à utiliser des parenthèses vides lors de l'obtention de la valeur.
Il est clair que l'exemple ci-dessus est trop simple, mais y a-t-il d'autres bonnes raisons de choisir l'un plutôt que l'autre? Par exemple, y a-t-il des caractéristiques de fonctions ou de propriétés qui vous guideraient dans votre décision d'utiliser?
NB À première vue, cela semble être une question OOP assez courante, mais je suis impatient de connaître toutes les fonctionnalités spécifiques à Swift qui guideraient les meilleures pratiques lors de l'utilisation de ce langage.