Sobes.tech
Junior — Middle

Sınıf təyin edərkən hansı əməliyyatlar və ya xüsusiyyətlər mövcuddur və bunlar strukturda yoxdur?

sobes.tech Süni İntellekt

AI-dan cavab

Swift-də siniflər, strukturlardan fərqli olaraq, aşağıdakı xüsusiyyətlərə malikdir:

  • İrsi: siniflər digər siniflərdən irsi ala bilər, bu da ierarxiyalar yaratmağa və metodları üst-üstə qoymağa imkan verir.
  • Deinitializers (deinit): siniflər, nümunə silindiyi zaman resursları sərbəst buraxmaq üçün deinitializersə sahib ola bilər.
  • İstinad tipi: siniflər istinadla ötürülür, strukturlar isə dəyərlə.
  • Xüsusiyyət növləri: siniflər, obyektlərə istinad edən xüsusiyyətlərə sahib ola bilər, bu da yaddaş idarəsini təsir edir.
  • weakunowned istinadların istifadəsi, güclü istinad döngələrini qarşısını almaq üçün.

Deinitializer ilə nümunə:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
    deinit {
        print("Person \(name) deinitialization prosesində")
    }
}