Welke methoden voor het initialiseren van objecten ken je en gebruik je in klassen?
sobes.tech AI
Antwoord van AI
In iOS (Swift/Objective-C) worden verschillende methoden gebruikt om objecten in klassen te initialiseren:
-
Initializers (initializers) — speciale methoden die de beginsituatie van het object instellen. In Swift is dat
init(), in Objective-C zijn dat de methoden-init. -
Initializers met parameters — stellen je in staat om beginwaarden in te stellen bij het maken van het object.
-
Delegatie-constructors — één initializer roept een andere aan om code duplicatie te voorkomen.
-
Initialisatie via standaardeigenschappen — klasse-eigenschappen kunnen standaardwaarden hebben die worden ingesteld bij het maken van het object.
Voorbeeld 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 gebeurt de initialisatie meestal via de methode -init of aangepaste initializers, bijvoorbeeld:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}