Sobes.tech
Junior

Šta je blok 'init' i kako se koristi u jeziku Kotlin?

sobes.tech АИ

Одговор од АИ

Blok init je inicializator klase u Kotlinu. Izvršava se prilikom kreiranja instance klase, nakon poziva konstruktora (primarnog ili sekundarnog) i pre deklaracije svojstava klase. Koristi se za izvršavanje koda koji je neophodan za pravilnu inicijalizaciju objekta.

Karakteristike:

  • U klasi može biti više init blokova.
  • init blokovi se izvršavaju redom kojim su deklarisani u telu klase.
  • Obično se koriste za proveru ulaznih parametara konstruktora, izvršavanje kalkulacija ili podešavanje početnog stanja objekta.

Primer:

class Person(name: String) {
    val formattedName: String

    init {
        // Provera ulaznih podataka
        require(name.isNotBlank()) { "Ime ne može biti prazno" }
        // Formatiranje podataka za internu upotrebu
        formattedName = name.trim().toUpperCase() 
    }

    init {
        // Dodatna logika inicijalizacije, ako je potrebna
        println("Inicijalizacija instance Person sa imenom: $formattedName")
    }
}