Junior — Middle
Jakie operacje lub właściwości są dostępne podczas definiowania klasy, których nie ma w strukturze?
sobes.tech AI
Odpowiedź od AI
W Swift klasy mają kilka cech, których nie mają struktury:
- Dziedziczenie: klasy mogą dziedziczyć po innych klasach, co pozwala na tworzenie hierarchii i nadpisywanie metod.
- Destruktory (deinit): klasy mogą mieć destruktory do zwalniania zasobów przy usuwaniu instancji.
- Typ referencyjny: klasy są przekazywane przez referencję, a struktury przez wartość.
- Typy właściwości: klasy mogą mieć właściwości będące referencjami do obiektów, co wpływa na zarządzanie pamięcią.
- Możliwość używania odwołań
weakiunowneddo zapobiegania cyklom silnych odwołań.
Przykład klasy z destruktorem:
class Person {
var name: String
init(name: String) {
self.name = name
}
deinit {
print("Person \(name) jest deinitializowana")
}
}