Stored Property / Computed Property

1. Stored Property (Depolanmış Özellik)

Stored property, bir sınıf (class) veya yapı (struct) içinde gerçek bir değer saklayan property’dir.
Her instance (örnek) için bir değeri vardır.
İlk tanımlandığında bir başlangıç değeri alabilir veya daha sonra atanabilir.

Örnek:

struct User {
var name: String // stored property
var age: Int // stored property
}

Burada name ve age doğrudan bellekte veri tutar.
Her User nesnesinin kendi name ve age değeri olur.


2. Computed Property (Hesaplanan Özellik)

Computed property ise gerçek veri saklamaz.
Her erişildiğinde (veya bazen ayarlandığında) bir hesaplama yaparak değer döner.

Örnek:

struct Rectangle {
var width: Double // stored property
var height: Double // stored property

var area: Double { // computed property
return width * height
}
}

Burada area değeri bellekte tutulmaz.
Her area‘ya erişildiğinde, width * height yeniden hesaplanır.

İstersen get ve set bloklarıyla daha gelişmiş bir computed property yazabilirsin:

struct Rectangle {
var width: Double
var height: Double

var area: Double {
get {
return width * height
}
set {
// newValue varsayılan bir isimdir, set içine gelen değeri temsil eder
width = sqrt(newValue)
height = sqrt(newValue)
}
}
}

Burada hem okuyabiliyor hem de dışarıdan area atanabiliyor.

Son yazılarım:


tarihinde yayınlandı.

yazarı:

Etiketler:

swift xcode

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir