Sobes.tech
Junior — Middle

Kas sa saad loetleda ja selgitada Swift keeles saadaval olevaid omadusi?

sobes.tech AI

Vastus AI-lt

Swiftis on omadused muutujad või konstantsed, mis on seotud klasside, struktuuride või loenditega ning mis salvestavad andmeid või arvutavad väärtusi.

Peamised omadusetüübid:

  • Salvestatud omadused (Stored Properties) — salvestavad konstantse või muutuva väärtuse. Näiteks:
struct Inimene {
    var nimi: String  // muutuva salvestatud omadus
    let sünniaasta: Int  // konstantne salvestatud omadus
}
  • Arvutatud omadused (Computed Properties) — ei salvestata väärtust otse, vaid arvutatakse selle kasutamisel. Neil võib olla getter ja setter:
struct Ristkülik {
    var laius: Double
    var kõrgus: Double
    var pindala: Double {
        return laius * kõrgus
    }
}
  • Omaduse jälgijad (Property Observers) — võimaldavad reageerida salvestatud omaduse väärtuse muutusele, kasutades willSet ja didSet:
var tulemus: Int = 0 {
    willSet {
        print("Varsti muutub \(newValue)-ks")
    }
    didSet {
        print("Muudeti \(oldValue)-st \(tulemus)-ks")
    }
}
  • Tüpi omadused (Type Properties) — kuuluvad otse tüübile, mitte selle eksemplarile, ja deklareeritakse static või class-iga:
struct Matemaatika {
    static let pi = 3.14159
}

Sellisel viisil võimaldavad omadused Swiftis mugavalt andmeid salvestada ja arvutada ning jälgida nende muutusi.