Junior — Middle
83
Класс анықтау кезінде қандай операциялар немесе қасиеттер қол жетімді, ал структурада жоқ?
Сұралған компаниялар
BetBoom
AI-дан жауап
sobes.tech AI
В Swift классы обладают рядом особенностей, которых нет у структур:
- Наследование: классы могут наследоваться от других классов, что позволяет создавать иерархии и переопределять методы.
- Деинициализаторы (deinit): классы могут иметь деинициализаторы для освобождения ресурсов при удалении экземпляра.
- Ссылочный тип: классы передаются по ссылке, а структуры — по значению.
- Типы свойств: классы могут иметь свойства, которые являются ссылками на объекты, что влияет на управление памятью.
- Возможность использования
weakиunownedссылок для предотвращения циклов сильных ссылок.
Пример класса с деинициализатором:
class Person {
var name: String
init(name: String) {
self.name = name
}
deinit {
print("Person \(name) is being deinitialized")
}
}