Junior
Kaip įgyvendinti kelis konstruktorius vienoje klasėje Kotlin?
sobes.tech AI
Atsakymas iš AI
Kotlin'e klasė gali turėti vieną pirminį konstruktorių ir vieną ar daugiau antrinių konstruktorių.
-
Pirminis konstruktorius: Apibrėžiamas klasės antraštėje. Gali turėti parametrus.
class ManoKlasė(private val kažkoksYpatumas: String) { // Pirminis konstruktorius su parametru // Klasės turinys } -
Antriniai konstruktoriai: Deklaruojami su raktiniu žodžiu
constructor. Jei klasė turi pirminį konstruktorių, kiekvienas antrinis turi tiesiogiai ar netiesiogiai jį deleguoti naudojantthis().class KitasKlasė(private val pirminėReikšmė: Int) { // Pirminis konstruktorius constructor kitasReikšmė: String) : this(kitasReikšmė.length) { // Antrinis, deleguojantis į pirminį // Antrinio konstruktoriaus logika println("Sukurtas su eilute: $kitasReikšmė") } constructor(reikšmė1: Int, reikšmė2: Int) : this(reikšmė1 + reikšmė2) { // Kitas antrinis // Logika println("Sukurtas su dviem int: $reikšmė1, $reikšmė2") } }
Jei nėra pirminio konstruktoriaus, antriniai konstruktoriai nėra privalomi deleguoti į kitus konstruktorius (bet gali).
class BePirminio {
constructor(reikšmė: Int) {
println("Sukurtas su int: $reikšmė")
}
constructor(reikšmė: String) {
println("Sukurtas su eilute: $reikšmė")
}
}