Junior
Comment implémenter plusieurs constructeurs dans une seule classe en Kotlin?
sobes.tech IA
Réponse de l'IA
Pour créer plusieurs constructeurs en Kotlin, on utilise le constructeur primaire et, si nécessaire, un ou plusieurs constructeurs secondaires.
Le constructeur primaire est déclaré directement dans la déclaration de la classe :
class MyClass(primaryParam1: String, primaryParam2: Int) {
// Corps de la classe
}
Les constructeurs secondaires sont déclarés à l’aide du mot-clé constructor :
class MyClass {
// Constructeur primaire (implicite ou explicite)
constructor(param1: String) {
// Logique du constructeur secondaire 1
}
constructor(param1: String, param2: Int) {
// Logique du constructeur secondaire 2
}
}
Si la classe possède un constructeur primaire, chaque constructeur secondaire doit déléguer l’appel au constructeur primaire en utilisant le mot-clé this() :
class MyClass(primaryParam: String) {
constructor(secondaryParam: Int) : this(secondaryParam.toString()) {
// Logique du constructeur secondaire
}
}
Il est également possible d’avoir plusieurs constructeurs secondaires déléguant au constructeur primaire ou à d’autres constructeurs secondaires (en respectant la hiérarchie de délégation) :
class MyClass(primaryParam: String) {
constructor(param1: String, param2: Int) : this(param1) {
// Logique du constructeur secondaire 1
}
constructor(param1: String, param2: Int, param3: Boolean) : this(param1, param2) {
// Logique du constructeur secondaire 2
}
}
Points importants :
- Le corps du constructeur primaire s’exécute avant celui des constructeurs secondaires.
- Les propriétés déclarées dans la déclaration du constructeur primaire peuvent être accessibles dans le corps des constructeurs secondaires.
- En Kotlin, il est recommandé d’utiliser le constructeur primaire et, si possible, d’éviter les constructeurs secondaires, en privilégiant les arguments nommés ou les méthodes de fabrique.