Sobes.tech
Junior — Middle

Je možné v Kotlinu definovať triedu s viacerými konštruktormi?

sobes.tech AI

Odpoveď od AI

Áno, v Kotlinu je možné definovať triedu s viacerými konštruktormi. Na to sa používa jeden hlavný (primary) konštruktor a jeden alebo viac vedľajších (secondary) konštruktorov.

Hlavný konštruktor je deklarovaný v hlavičke triedy, a vedľajšie — vo vnútri tela triedy kľúčovým slovom constructor.

Príklad:

class User(val name: String) {
    var age: Int = 0

    // Vedľajší konštruktor
    constructor(name: String, age: Int) : this(name) {
        this.age = age
    }
}

Tu hlavný konštruktor prijíma name, a vedľajší — name a age. Vedľajší konštruktor volá hlavný cez : this(name) a inicializuje ďalšiu vlastnosť.