Junior
Ako implementovať viac konštruktorov v jednej triede v Kotlin?
sobes.tech AI
Odpoveď od AI
V Kotlinu môže mať trieda jeden primárny konštruktor a jeden alebo viac sekundárnych konštruktorov.
-
Primárny konštruktor: Je definovaný v hlavičke triedy. Môže mať parametre.
class MojaTrieda(private val nejakaVlastnost: String) { // Primárny konštruktor s parametrom // Telo triedy } -
Sekundárne konštruktory: Sú deklarované kľúčovým slovom
constructor. Ak má trieda primárny konštruktor, každý sekundárny musí priamo alebo nepriamo delegovať naň pomocouthis().class InaTrieda(private val hlavnaHodnota: Int) { // Primárny konštruktor constructor inaHodnota: String) : this(inaHodnota.length) { // Sekundárny delegujúci na primárny // Logika sekundárneho konštruktora println("Vytvorené s reťazcom: $inaHodnota") } constructor(hodnota1: Int, hodnota2: Int) : this(hodnota1 + hodnota2) { // Iný sekundárny // Logika println("Vytvorené s dvomi intami: $hodnota1, $hodnota2") } }
Ak nie je primárny konštruktor, sekundárne konštruktory nie sú povinné delegovať na iné konštruktory tej istej triedy (ale môžu).
class BezPrimárneho {
constructor(hodnota: Int) {
println("Vytvorené s int: $hodnota")
}
constructor(hodnota: String) {
println("Vytvorené s reťazcom: $hodnota")
}
}