Sobes.tech
Junior

Kas yra 'init' blokas ir kaip jis naudojamas Kotlin kalboje?

sobes.tech AI

Atsakymas iš AI

Kotlin'e init blokas yra klasės inicializatorius. Jis vykdomas kuriant klasės egzempliorių, po konstruktoriaus (pagrindinio ar antraeilio) iškvietimo ir prieš deklaruojant klasės savybes. Naudojamas vykdyti kodą, kuris yra būtinas objekto teisingai inicializacijai.

Savybės:

  • Klasėje gali būti keli init blokai.
  • init blokai vykdomi jų deklaravimo tvarka klasės kūne.
  • Paprastai naudojami patikrinti konstruktoriaus įėjimo parametrus, atlikti skaičiavimus arba konfigūruoti pradinę objekto būseną.

Pavyzdys:

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

    init {
        // Įėjimo duomenų patikrinimas
        require(name.isNotBlank()) { "Vardas negali būti tuščias" }
        // Duomenų formatavimas vidiniam naudojimui
        formattedName = name.trim().toUpperCase() 
    }

    init {
        // Papildoma inicializacijos logika, jei reikalinga
        println("Person egzemplioriaus inicializacija su vardu: $formattedName")
    }
}