Kotlin - Costruttori
In questo capitolo, impareremo a conoscere i costruttori in Kotlin. Kotlin ha due tipi di costruttore: uno è ilprimary constructor e l'altro è il file secondary constructor. Una classe Kotlin può avere un costruttore principale e uno o più costruttori secondari. Il costruttore Java inizializza le variabili membro, tuttavia, in Kotlin il costruttore principale inizializza la classe, mentre il costruttore secondario aiuta a includere una logica extra durante l'inizializzazione della stessa. Il costruttore principale può essere dichiarato a livello di intestazione di classe come mostrato nell'esempio seguente.
class Person(val firstName: String, var age: Int) {
// class body
}
Nell'esempio sopra, abbiamo dichiarato il costruttore principale tra parentesi. Tra i due campi, il nome è di sola lettura in quanto viene dichiarato “val”, mentre è possibile modificare l'età del campo. Nel seguente esempio, useremo il costruttore principale.
fun main(args: Array<String>) {
val person1 = Person("TutorialsPoint.com", 15)
println("First Name = ${person1.firstName}")
println("Age = ${person1.age}")
}
class Person(val firstName: String, var age: Int) {
}
La parte di codice precedente inizializzerà automaticamente le due variabili e fornirà il seguente output nel browser.
First Name = TutorialsPoint.com
Age = 15
Come accennato in precedenza, Kotlin consente di creare uno o più costruttori secondari per la tua classe. Questo costruttore secondario viene creato utilizzando la parola chiave "costruttore". È richiesto ogni volta che si desidera creare più di un costruttore in Kotlin o ogni volta che si desidera includere più logica nel costruttore principale e non è possibile farlo perché il costruttore principale può essere chiamato da qualche altra classe. Dai un'occhiata al seguente esempio, dove abbiamo creato un costruttore secondario e stiamo usando l'esempio sopra per implementarlo.
fun main(args: Array<String>) {
val HUman = HUman("TutorialsPoint.com", 25)
print("${HUman.message}"+"${HUman.firstName}"+
"Welcome to the example of Secondary constructor, Your Age is-${HUman.age}")
}
class HUman(val firstName: String, var age: Int) {
val message:String = "Hey!!!"
constructor(name : String , age :Int ,message :String):this(name,age) {
}
}
Note - È possibile creare un numero qualsiasi di costruttori secondari, tuttavia, tutti questi costruttori devono chiamare il costruttore principale direttamente o indirettamente.
La parte di codice precedente produrrà il seguente output nel browser.
Hey!!! TutorialsPoint.comWelcome to the example of Secondary constructor, Your Age is- 25