Sobes.tech
Junior

Как да реализираме няколко конструктора в един клас в Kotlin?

sobes.tech AI

Отговор от AI

В Kotlin клас може да има един първичен конструктор и един или няколко вторични конструктора.

  1. Първичен конструктор: Определя се в заглавието на класа. Може да има параметри.

    class МоиятКлас(private val някакваСвойство: String) { // Първичен конструктор с параметър
        // Тяло на класа
    }
    
  2. Вторични конструктори: Декларират се с ключовата дума constructor. Ако класът има първичен конструктор, всеки вторичен трябва да делегира пряко или косвено към него, използвайки this().

    class ДругаКлас(private val основнаСтойност: Int) { // Първичен конструктор
    
        constructor другаСтойност: String) : this(другаСтойност.length) { // Вторичен делегиращ към първичния
            // Логика на вторичния конструктор
            println("Създаден с низ: $другаСтойност")
        }
    
        constructor(стойност1: Int, стойност2: Int) : this(стойност1 + стойност2) { // Друг вторичен
            // Логика
            println("Създаден с две числа: $стойност1, $стойност2")
        }
    }
    

Ако няма първичен конструктор, вторичните не са задължени да делегират към други конструктори (но могат).

class БезПървичен {

    constructor(стойност: Int) {
        println("Създаден с int: $стойност")
    }

    constructor(стойност: String) {
        println("Създаден с низ: $стойност")
    }
}