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ę.