Sobes.tech
Junior

Kas ir 'init' bloks un kā tas tiek izmantots Kotlin valodā?

sobes.tech AI

Atbilde no AI

init bloks ir klasės inicializators Kotlin'e. 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()) { "Vārds nevar būt tukšs" }
        // Duomenų formatēšana iekšējai lietošanai
        formattedName = name.trim().toUpperCase() 
    }

    init {
        // Papildu inicializācijas loģika, ja nepieciešama
        println("Person instances inicializācija ar vārdu: $formattedName")
    }
}