Sobes.tech
Junior — Middle

Ar galima Kotlin'e apibrėžti klasę su keliais konstruktoriais?

sobes.tech AI

Atsakymas iš AI

Taip, Kotlin galima apibrėžti klasę su keliais konstruktoriais. Tam naudojamas vienas pagrindinis (primary) konstruktorius ir vienas arba keli antriniai (secondary) konstruktoriai.

Pagrindinis konstruktorius deklaruojamas klasės antraštėje, o antriniai — klasės kūne su raktažodžiu constructor.

Pavyzdys:

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

    // Antrinis konstruktorius
    constructor(name: String, age: Int) : this(name) {
        this.age = age
    }
}

Čia pagrindinis konstruktorius priima name, o antriniai — name ir age. Antrinis konstruktorius iškviečia pagrindinį per : this(name) ir inicializuoja papildomą savybę.