Junior
Cum se implementează mai mulți constructori într-o singură clasă în Kotlin?
sobes.tech AI
Răspuns de la AI
Pentru a crea mai mulți constructori în Kotlin, se utilizează constructorul primar și, dacă este necesar, unul sau mai mulți constructori secundari.
Constructorul primar este declarat direct în antetul clasei:
class MyClass(primaryParam1: String, primaryParam2: Int) {
// Corpul clasei
}
Constructorii secundari sunt declarați cu ajutorul cuvântului cheie constructor:
class MyClass {
// Constructorul primar (implicit sau explicit)
constructor(param1: String) {
// Logica constructorului secundar 1
}
constructor(param1: String, param2: Int) {
// Logica constructorului secundar 2
}
}
Dacă clasa are un constructor primar, fiecare constructor secundar trebuie să delegheze apelul către constructorul primar, folosind cuvântul cheie this():
class MyClass(primaryParam: String) {
constructor(secondaryParam: Int) : this(secondaryParam.toString()) {
// Logica constructorului secundar
}
}
De asemenea, pot exista mai mulți constructori secundari care deleghează către constructorul primar sau către alți constructori secundari (respectând ierarhia de delegare):
class MyClass(primaryParam: String) {
constructor(param1: String, param2: Int) : this(param1) {
// Logica constructorului secundar 1
}
constructor(param1: String, param2: Int, param3: Boolean) : this(param1, param2) {
// Logica constructorului secundar 2
}
}
Puncte importante:
- Corpul constructorului primar se execută înaintea corpului constructorilor secundari.
- Proprietățile declarate în antetul constructorului primar pot fi accesibile în corpul constructorilor secundari.
- În Kotlin, se recomandă utilizarea constructorului primar și, dacă este posibil, evitarea constructorilor secundari, preferând argumente cu nume sau metode de fabricare.