Sobes.tech
Junior — Middle

Ar galite išvardyti ir paaiškinti Swift kalboje prieinamas savybes?

sobes.tech AI

Atsakymas iš AI

Swift'e savybės yra kintamieji arba konstantos, susijusios su klasėmis, struktūromis arba išvardijimais, kurios saugo duomenis arba skaičiuoja reikšmes.

Pagrindiniai savybių tipai:

  • Saugojimo savybės (Stored Properties) — saugo pastovų arba kintamą reikšmę. Pavyzdžiui:
struct Asmuo {
    var vardas: String  // kintama saugojimo savybė
    let gimimoMetai: Int  // nekintama saugojimo savybė
}
  • Skaičiuojamosios savybės (Computed Properties) — ne saugo reikšmės tiesiogiai, o ją skaičiuoja prieigos metu. Gali turėti getter ir setter:
struct Stačiakampis {
    var plotis: Double
    var aukštis: Double
    var plotas: Double {
        return plotis * aukštis
    }
}
  • Savybių stebėtojai (Property Observers) — leidžia reaguoti į saugomos savybės reikšmės pokyčius naudojant willSet ir didSet:
var balas: Int = 0 {
    willSet {
        print("Greitai keisis į \(newValue)")
    }
    didSet {
        print("Pasikeitė iš \(oldValue) į \(balas)")
    }
}
  • Tipo savybės (Type Properties) — priklauso pačiam tipui, ne jo egzemplioriui, ir deklaruojamos su static arba class:
struct Matematika {
    static let pi = 3.14159
}

Šiuo būdu, savybės Swift leidžia patogiai saugoti ir skaičiuoti duomenis, taip pat stebėti jų pokyčius.