Sobes.tech
Junior — Middle

Da li je moguće definisati klasu u Kotlinu sa više konstruktora?

sobes.tech АИ

Одговор од АИ

Da, u Kotlinu je moguće definisati klasu sa više konstruktora. Za to se koristi jedan glavni (primary) konstruktor i jedan ili više sekundarnih (secondary) konstruktora.

Glavni konstruktor se deklarise u zaglavlju klase, a sekundarni — unutar tela klase ključnom reči constructor.

Primer:

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

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

Ovde glavni konstruktor prihvata name, a sekundarni — name i age. Sekundarni konstruktor poziva glavni putem : this(name) i inicijalizuje dodatnu osobinu.