En la sesión de Introducción a Swift WWDC, description
se demuestra una propiedad de solo lectura :
class Vehicle {
var numberOfWheels = 0
var description: String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description)
¿Hay alguna implicación en elegir el enfoque anterior en lugar de usar un método en su lugar?
class Vehicle {
var numberOfWheels = 0
func description() -> String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description())
Me parece que las razones más obvias por las que elegiría una propiedad calculada de solo lectura son:
- Semántica : en este ejemplo, tiene sentido
description
que sea una propiedad de la clase, en lugar de una acción que realiza. - Brevedad / Claridad : evita la necesidad de utilizar paréntesis vacíos al obtener el valor.
Claramente, el ejemplo anterior es demasiado simple, pero ¿hay otras buenas razones para elegir uno sobre el otro? Por ejemplo, ¿existen algunas características de las funciones o propiedades que guiarían su decisión de cuál usar?
NB A primera vista, esta parece una pregunta de OOP bastante común, pero estoy ansioso por conocer las características específicas de Swift que guiarían las mejores prácticas al usar este lenguaje.
get {}
? ¡No lo sabía, gracias!