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
initblokai. initblokai 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")
}
}