Utilizzare i costruttori in Kotlin

Mattepuffo's logo
Utilizzare i costruttori in Kotlin

Utilizzare i costruttori in Kotlin

Come anche in altri linguaggi, anche Kotlin permette di creare e usare più costruttori.

Questo un esempio di costruttore primario:

class Person constructor(var name: String, var email: String?)

Se non ci sono altri metodi / costruttori, è anche possibile omettere le parentesi graffe.

Diversamente da Java, il costruttore usa una parola apposita (constructor), e non si chiama come la classe a cui appartiene.

Quind, se volessimo usarne un altro:

class Person constructor(var name: String, var email: String?) {
    var age: Int = 0;

    constructor(name: String, email: String, age: Int) : this(name, email) {
        this.age = age
    }

    fun maggiorenne(): Boolean {
        return age >= 18
    }
}

Come vedete, c'è differenza tra il parametro email del costruttore primario e secondario.

Il primario accetta valori null, il secondo no.

Che è un pò come dire "se impostate l'età, dovete mettere anche l'email in modo obbligatorio"; ovviamente è un esempio banale.

Adesso, nel nostro main, potremmo avere una cosa del genere:

fun main(args: Array) {
    var p1 = Person("matteo", null)
    println(p1.name)
    if (p1.maggiorenne()) {
        println(p1.age)
    }

    println("-------------------")

    var p2 = Person("marco", "mr@email.com", 23)
    println(p2.name)
    if (p2.maggiorenne()) {
        println(p2.age)
    }
}

Fate qualche prova!

Enjoy!


Condividi

Commentami!