Sobes.tech
Junior

Mi az az 'init' blokk és hogyan használják a Kotlin nyelvben?

sobes.tech MI

Válasz az MI-től

A init blokk egy osztály inicializálója Kotlinban. Az osztály példányának létrehozásakor fut le, a konstruktor (elsődleges vagy másodlagos) hívása után és az osztály tulajdonságainak deklarálása előtt. Olyan kód végrehajtására szolgál, amely szükséges az objektum helyes inicializálásához.

Jellemzők:

  • Egy osztályban több init blokk is lehet.
  • Az init blokkok a deklarálásuk sorrendjében futnak le az osztály törzsében.
  • Általában a konstruktor bemeneti paramétereinek ellenőrzésére, számítások végrehajtására vagy az objektum kezdeti állapotának beállítására használják.

Példa:

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

    init {
        // Bemeneti adatok ellenőrzése
        require(name.isNotBlank()) { "Név nem lehet üres" }
        // Adatok formázása belső használatra
        formattedName = name.trim().toUpperCase() 
    }

    init {
        // További inicializációs logika, ha szükséges
        println("Person példány inicializálása névvel: $formattedName")
    }
}