Junior
Come implementare più costruttori in una singola classe in Kotlin?
sobes.tech AI
Risposta dell'AI
Per creare più costruttori in Kotlin si utilizza il costruttore primario e, se necessario, uno o più costruttori secondari.
Il costruttore primario viene dichiarato direttamente nell'intestazione della classe:
class MyClass(primaryParam1: String, primaryParam2: Int) {
// Corpo della classe
}
I costruttori secondari vengono dichiarati usando la parola chiave constructor:
class MyClass {
// Costruttore primario ( implicito o esplicito)
constructor(param1: String) {
// Logica del costruttore secondario 1
}
constructor(param1: String, param2: Int) {
// Logica del costruttore secondario 2
}
}
Se la classe ha un costruttore primario, ogni costruttore secondario deve delegare la chiamata al costruttore primario, usando la parola chiave this():
class MyClass(primaryParam: String) {
constructor(secondaryParam: Int) : this(secondaryParam.toString()) {
// Logica del costruttore secondario
}
}
Può anche esserci più costruttori secondari che delegano al costruttore primario o ad altri costruttori secondari (seguendo la gerarchia di delega):
class MyClass(primaryParam: String) {
constructor(param1: String, param2: Int) : this(param1) {
// Logica del costruttore secondario 1
}
constructor(param1: String, param2: Int, param3: Boolean) : this(param1, param2) {
// Logica del costruttore secondario 2
}
}
Punti importanti:
- Il corpo del costruttore primario viene eseguito prima di quello dei costruttori secondari.
- Le proprietà dichiarate nell'intestazione del costruttore primario possono essere accessibili nel corpo dei costruttori secondari.
- In Kotlin, si consiglia di usare il costruttore primario e, se possibile, di evitare i costruttori secondari, preferendo argomenti con nome o metodi di fabbrica.