Junior
Comment implémenter plusieurs constructeurs dans une seule classe en Kotlin?
sobes.tech IA
Réponse de l'IA
En Kotlin, une classe peut avoir un constructeur primaire et un ou plusieurs constructeurs secondaires.
-
Constructeur primaire : Défini dans la déclaration de la classe. Peut avoir des paramètres.
class MaClasse(private val unePropriete: String) { // Constructeur primaire avec paramètre // Corps de la classe } -
Constructeurs secondaires : Déclarés avec le mot-clé
constructor. Si la classe possède un constructeur primaire, chaque constructeur secondaire doit le déléguer directement ou indirectement en utilisant le mot-cléthis().class UneAutreClasse(private val valeurPrimaire: Int) { // Constructeur primaire constructor(uneAutreValeur: String) : this(uneAutreValeur.length) { // Constructeur secondaire déléguant au primaire // Logique du constructeur secondaire println("Créé avec la chaîne : $uneAutreValeur") } constructor(valeur1: Int, valeur2: Int) : this(valeur1 + valeur2) { // Un autre constructeur secondaire // Logique println("Créé avec deux ints : $valeur1, $valeur2") } }
En l'absence de constructeur primaire, les constructeurs secondaires ne sont pas obligés de déléguer à d'autres constructeurs de la même classe (mais ils peuvent).
class ClasseSansPrimaire {
constructor(valeur: Int) {
println("Créé avec int : $valeur")
}
constructor(valeur: String) {
println("Créé avec chaîne : $valeur")
}
}