Quels types de constructeurs sont implémentés dans la classe et en quoi diffèrent-ils?
sobes.tech IA
Réponse de l'IA
Dans la classe en Swift, les types de constructeurs (initialiseurs) suivants sont généralement implémentés :
-
Initialiseur par défaut (default initializer) — créé automatiquement si toutes les propriétés ont des valeurs par défaut et qu'il n'y a pas d'autres initialiseurs.
-
Initialiseur avec paramètres (initialiseur désigné) — l'initialiseur principal qui initialise toutes les propriétés de la classe. L'appel à d'autres initialiseurs dans la classe se fait via
self.init. -
Initialiseurs de convenance (convenience initializer) — initialiseurs auxiliaires qui appellent l'initialiseur désigné. Utilisés pour simplifier la création d'objets avec différents ensembles de paramètres.
Différences :
- Les initialiseurs désignés initialisent toutes les propriétés et appellent les initialiseurs de la superclasse.
- Les initialiseurs de convenance appellent d'autres initialiseurs de la même classe et ne peuvent pas initialiser directement les propriétés.
Exemple :
class Person {
var name: String
var age: Int
// Initialiseur désigné
init(name: String, age: Int) {
self.name = name
self.age = age
}
// Initialiseur de convenance
convenience init(name: String) {
self.init(name: name, age: 0) // appel au désigné
}
}
Ainsi, les initialiseurs offrent une flexibilité dans l'initialisation des objets avec différents paramètres et garantissent une initialisation correcte de toutes les propriétés.