Junior
Kā īstenot vairākus konstruktorus vienā klasē Kotlin?
sobes.tech AI
Atbilde no AI
Kotlinā klasei var būt viens primārais konstruktors un viens vai vairāki sekundārie konstruktori.
-
Primārais konstruktors: Definēts klases virsrakstā. Tam var būt parametri.
class ManaKlase(private val kādaĪpašība: String) { // Primārais konstruktors ar parametru // Klases ķermenis } -
Sekundārie konstruktori: Deklarēti ar atslēgvārdu
constructor. Ja klasei ir primārais konstruktors, katrs sekundārais konstruktors tam tieši vai netieši jādeleģē, izmantojotthis().class CitaKlase(private val primārāVērtība: Int) { // Primārais konstruktors constructor citaVērtība: String) : this(citaVērtība.length) { // Sekundārais, kas deleģē uz primāro // Sekundārā konstruktoru loģika println("Izveidots ar virkni: $citaVērtība") } constructor(vērtība1: Int, vērtība2: Int) : this(vērtība1 + vērtība2) { // Cits sekundārais // Loģika println("Izveidots ar diviem int: $vērtība1, $vērtība2") } }
Ja nav primārā konstruktora, sekundārie konstruktori nav obligāti deleģēt uz citām konstruktoru (bet var).
class BezPrimārā {
constructor(vērtība: Int) {
println("Izveidots ar int: $vērtība")
}
constructor(vērtība: String) {
println("Izveidots ar virkni: $vērtība")
}
}