Sobes.tech
Junior

Co je blok 'init' a jak se používá v jazyce Kotlin?

sobes.tech AI

Odpověď od AI

Blok init je inicializátor třídy v Kotlinu. Běží při vytváření instance třídy, po volání konstruktoru (primárního i sekundárního) a před deklarací vlastností třídy. Používá se k vykonání kódu, který je nezbytný pro správnou inicializaci objektu.

Vlastnosti:

  • Ve třídě může být několik bloků init.
  • Bloky init se vykonávají v pořadí, v jakém jsou deklarovány v těle třídy.
  • Obvykle se používají k ověření vstupních parametrů konstruktoru, provádění výpočtů nebo konfiguraci počátečního stavu objektu.

Příklad:

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

    init {
        // Kontrola vstupních dat
        require(name.isNotBlank()) { "Jméno nesmí být prázdné" }
        // Formátování dat pro interní použití
        formattedName = name.trim().toUpperCase() 
    }

    init {
        // Další logika inicializace, pokud je potřeba
        println("Inicializace instance Person s jménem: $formattedName")
    }
}