Sobes.tech
Junior

Cum se implementează mai mulți constructori într-o singură clasă în Kotlin?

sobes.tech AI

Răspuns de la AI

În Kotlin, o clasă poate avea un constructor primar și unul sau mai mulți constructori secundari.

  1. Constructorul primar: Este definit în antetul clasei. Poate avea parametri.

    class ClasaMea(private val oProprietate: String) { // Constructor primar cu parametru
        // Corpul clasei
    }
    
  2. Constructorii secundari: Sunt declarați cu cuvântul cheie constructor. Dacă clasa are un constructor primar, fiecare constructor secundar trebuie să îl delegheze direct sau indirect folosind this().

    class AltaClasa(private val valoarePrimara: Int) { // Constructor primar
    
        constructor altaValoare: String) : this(altaValoare.length) { // Constructor secundar delegând către primar
            // Logica constructorului secundar
            println("Creat cu string: $altaValoare")
        }
    
        constructor(valoare1: Int, valoare2: Int) : this(valoare1 + valoare2) { // Alt constructor secundar
            // Logica
            println("Creat cu doi int-uri: $valoare1, $valoare2")
        }
    }
    

Fără un constructor primar, constructorii secundari nu sunt obligați să delegheze către alți constructori ai aceleiași clase (dar pot).

class FărăPrimar {

    constructor(valoare: Int) {
        println("Creat cu int: $valoare")
    }

    constructor(valoare: String) {
        println("Creat cu string: $valoare")
    }
}