Konstruktor pada Kotlin

Sebuah kelas pada Kotlin memiliki sebuah primary constructor (konstruktor primer) dan satu atau lebih secondary constructor (konstruktor sekunder). Primary constructor adalah bagian dari class header. Itu ditulis setelah nama kelas (dan parameter tipe opsional).

class Person constructor(firstName: String) {
}

Jika primary constructor tidak memiliki anotasi atau visibility modifier, keyword constructor bisa dihilangkan:

class Person(firstName: String) {
}

Primary constructor tidak dapat mengandung kode apapun. Inisialisasi kode bisa diganti ke dalam initializer blocks, yang mana adalah prefiks dari keyword init.

class Customer(name: String) {
init {
logger.info("Customer initialized with value ${name}")
}
}

Perlu kita catat bahwa parameter dari primary constructor bisa dipakai dalam initializer blocks. Mereka juga bisa dipakai dalam property initializer yang dideklarasikan dalam class body.

class Customer(name: String) {
val customerKey = name.toUpperCase()
}

Pada dasarnya, untuk mendeklarasikan properti dan menginialisasi mereka dari primary constructor, Kotlin memiliki sintaks yang ringkas.

class Person(val firstName: String, val lastName: String, var age: Int) {
// …
}

— — Bersambung — —