Sobes.tech
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.