Junior — Middle
Sinfni aniqlashda mavjud bo'lgan operatsiyalar yoki xususiyatlar, tuzilmadan farqli o'laroq, qanday?
sobes.tech AI
AIdan javob
Swift dasturlash tilida, sinflar strukturalardan farqli o'laroq, quyidagi xususiyatlarga ega:
- Merosi: sinflar boshqa sinflardan meros olishi mumkin, bu esa hierarxiyalar yaratish va metodlarni qayta yozish imkonini beradi.
- Deinitializers (deinit): sinflar, obyekt o'chirilganda resurslarni bo'shatish uchun deinitializersga ega bo'lishi mumkin.
- Referent type: sinflar referens orqali o'tkaziladi, strukturalar esa qiymat orqali.
- Xususiyat turlari: sinflar, obyektlarga referens bo'ladigan xususiyatlarga ega bo'lishi mumkin, bu esa xotira boshqaruviga ta'sir qiladi.
weakvaunownedreferenslarni ishlatish imkoniyati, kuchli referens sikllarini oldini olish uchun.
Deinitializator bilan sinf misoli:
class Person {
var name: String
init(name: String) {
self.name = name
}
deinit {
print("Person \(name) deinitialization jarayonida")
}
}