Sobes.tech
Junior — Middle

რა ოპერაციები ან თვისებები ხელმისაწვდომია კლასის განსაზღვრისას, რომლებიც სტრუქტურაში არ არის?

sobes.tech AI

პასუხი AI-სგან

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

  • Miras: siniflər digər siniflərdən miras ala bilər, bu da hiyerarşilər 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) deinitializasiya olunur")
    }
}