Sobes.tech
Junior — Middle

Lze v Kotlinu definovat třídu s více konstruktory?

sobes.tech AI

Odpověď od AI

Ano, v Kotlinu lze definovat třídu s více konstruktory. K tomu se používá jeden hlavní (primary) konstruktor a jeden nebo více vedlejších (secondary) konstruktorů.

Hlavní konstruktor je deklarován v hlavičce třídy, a vedlejší — uvnitř těla třídy klíčovým slovem constructor.

Příklad:

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

    // Vedlejší konstruktor
    constructor(name: String, age: Int) : this(name) {
        this.age = age
    }
}

Zde hlavní konstruktor přijímá name, a vedlejší — name a age. Vedlejší konstruktor volá hlavní přes : this(name) a inicializuje další vlastnost.