Junior
Czym jest blok 'init' i jak jest używany w języku Kotlin?
sobes.tech AI
Odpowiedź od AI
Blok init jest inicjalizatorem klasy w Kotlinie. Jest wykonywany podczas tworzenia instancji klasy, po wywołaniu konstruktora (zarówno głównego, jak i drugorzędnego) i przed deklaracją właściwości klasy. Służy do wykonania kodu niezbędnego do poprawnej inicjalizacji obiektu.
Cechy:
- W klasie może być kilka bloków
init. - Bloki
initsą wykonywane w kolejności ich deklaracji w ciele klasy. - Zazwyczaj służą do sprawdzania parametrów wejściowych konstruktora, wykonywania obliczeń lub konfigurowania początkowego stanu obiektu.
Przykład:
class Person(name: String) {
val formattedName: String
init {
// Sprawdzanie danych wejściowych
require(name.isNotBlank()) { "Imię nie może być puste" }
// Formatowanie danych do użytku wewnętrznego
formattedName = name.trim().toUpperCase()
}
init {
// Dodatkowa logika inicjalizacji, jeśli jest potrzebna
println("Inicjalizacja instancji Person z imieniem: $formattedName")
}
}