Swift WWDC'ye Giriş oturumunda, salt okunur bir özellik description
gösterilmektedir:
class Vehicle {
var numberOfWheels = 0
var description: String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description)
Bunun yerine bir yöntemi kullanmak yerine yukarıdaki yaklaşımı seçmenin herhangi bir etkisi var mı?
class Vehicle {
var numberOfWheels = 0
func description() -> String {
return "\(numberOfWheels) wheels"
}
}
let vehicle = Vehicle()
println(vehicle.description())
Bana öyle geliyor ki, salt okunur bir hesaplanmış özelliği seçmenizin en bariz nedenleri:
- Anlambilim - bu örnekte
description
, gerçekleştirdiği bir eylemden ziyade sınıfın bir özelliği olması mantıklıdır . - Kısalık / Netlik - değeri alırken boş parantez kullanma ihtiyacını önler.
Açıkça yukarıdaki örnek fazlasıyla basit, ancak birini diğerine tercih etmek için başka iyi nedenler var mı? Örneğin, hangisini kullanacağınıza karar vermenize yol gösterecek işlevlerin veya özelliklerin bazı özellikleri var mı?
NB İlk bakışta bu oldukça yaygın bir OOP sorusu gibi görünüyor, ancak bu dili kullanırken en iyi uygulamayı yönlendirecek Swift'e özgü özellikleri bilmek istiyorum.