Junior — Middle
Wyjaśnij zasadę działania właściwości delegowanych w języku programowania Kotlin.
sobes.tech AI
Odpowiedź od AI
W Kotlinie, właściwości delegowane pozwalają przekierować operacje odczytu i zapisu właściwości do innego obiektu — delegata. Ułatwia to ponowne wykorzystanie logiki dostępu do danych.
Składnia:
var nazwaWłaściwości: Typ przez delegata
Na przykład, standardowy delegat lazy inicjalizuje wartość przy pierwszym odwołaniu:
val lazyWartość: String przez lazy {
println("Obliczanie wartości")
"Witaj, Kotlin!"
}
fun main() {
println(lazyWartość) // Wartość zostanie obliczona i wyświetlona
println(lazyWartość) // Wartość zostanie pobrana z pamięci podręcznej
}
Możesz tworzyć własne delegaty, implementując interfejs ReadOnlyProperty lub ReadWriteProperty. Delegaty są przydatne do implementacji właściwości z opóźnioną inicjalizacją, obserwacją zmian, przechowywaniem w mapach itp.