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.
weakvəunownedistinadları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")
}
}