Junior
Come implementare più costruttori in una singola classe in Kotlin?
sobes.tech AI
Risposta dell'AI
In Kotlin, una classe può avere un costruttore primario e uno o più costruttori secondari.
-
Costruttore primario: Si definisce nella dichiarazione della classe. Può avere parametri.
class LaMiaClasse(private val qualcheProprietà: String) { // Costruttore primario con parametro // Corpo della classe } -
Costruttori secondari: Si dichiarano con la parola chiave
constructor. Se la classe ha un costruttore primario, ogni costruttore secondario deve delegare direttamente o indirettamente ad esso usandothis().class UnAltraClasse(private val valorePrimario: Int) { // Costruttore primario constructor(altroValore: String) : this(altroValore.length) { // Costruttore secondario che delega al primario // Logica del costruttore secondario println("Creato con stringa: $altroValore") } constructor(valore1: Int, valore2: Int) : this(valore1 + valore2) { // Un altro costruttore secondario // Logica println("Creato con due int: $valore1, $valore2") } }
Se non c'è un costruttore primario, i costruttori secondari non sono obbligati a delegare ad altri costruttori della stessa classe (ma possono).
class ClasseSenzaPrimario {
constructor(valore: Int) {
println("Creato con int: $valore")
}
constructor(valore: String) {
println("Creato con stringa: $valore")
}
}