Quali metodi di inizializzazione degli oggetti conosci e usi nelle classi?
sobes.tech AI
Risposta dell'AI
In iOS (Swift/Objective-C), vengono utilizzati diversi metodi per inizializzare gli oggetti nelle classi:
-
Initializzatori (initializers) — metodi speciali che impostano lo stato iniziale dell'oggetto. In Swift è
init(), in Objective-C sono i metodi-init. -
Initializzatori con parametri — consentono di impostare valori iniziali durante la creazione dell'oggetto.
-
Costruttori con delega — un inizializzatore chiama un altro per evitare duplicazioni di codice.
-
Inizializzazione tramite proprietà di default — le proprietà della classe possono avere valori di default che vengono impostati alla creazione dell'oggetto.
Esempio in Swift:
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
convenience init(name: String) {
self.init(name: name, age: 0)
}
}
let p1 = Person(name: "Иван", age: 30)
let p2 = Person(name: "Мария")
In Objective-C, l'inizializzazione avviene di solito tramite il metodo -init o inizializzatori personalizzati, ad esempio:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}