Junior
Hoe implementeer je meerdere constructeurs in één klasse in Kotlin?
sobes.tech AI
Antwoord van AI
In Kotlin kan een klasse een primaire constructor en een of meerdere secundaire constructors hebben.
-
Primaire constructor: Wordt gedefinieerd in de klasse header. Kan parameters hebben.
class MijnKlasse(private val eenEigenschap: String) { // Primaire constructor met parameter // Klassenlichaam } -
Secundaire constructors: Worden gedeclareerd met het sleutelwoord
constructor. Als de klasse een primaire constructor heeft, moet elke secundaire constructor direct of indirect naar deze verwijzen met behulp vanthis().class EenAndereKlasse(private val primaireWaarde: Int) { // Primaire constructor constructor(eenAndereWaarde: String) : this(eenAndereWaarde.length) { // Secundaire constructor die naar de primaire verwijst // Logica van de secundaire constructor println("Gemaakt met string: $eenAndereWaarde") } constructor(waarde1: Int, waarde2: Int) : this(waarde1 + waarde2) { // Nog een secundaire constructor // Logica println("Gemaakt met twee ints: $waarde1, $waarde2") } }
Als er geen primaire constructor is, zijn secundaire constructors niet verplicht om naar andere constructors te verwijzen (maar kunnen dat wel).
class ZonderPrimaireConstructor {
constructor(waarde: Int) {
println("Gemaakt met int: $waarde")
}
constructor(waarde: String) {
println("Gemaakt met string: $waarde")
}
}