Junior — Middle
Εξηγήστε την αρχή λειτουργίας των delegated ιδιοτήτων στη γλώσσα προγραμματισμού Kotlin.
sobes.tech AI
Απάντηση από AI
Στο Kotlin, οι ιδιότητες που ανατίθενται επιτρέπουν την ανακατεύθυνση των λειτουργιών ανάγνωσης και εγγραφής μιας ιδιότητας σε ένα άλλο αντικείμενο — τον αναθέτη. Αυτό απλοποιεί την επανάχρηση της λογικής πρόσβασης στα δεδομένα.
Σύνταξη:
var όνομαΙδιότητας: Τύπος από αναθέτη
Για παράδειγμα, ο προεπιλεγμένος αναθέτης lazy αρχικοποιεί την τιμή κατά την πρώτη κλήση:
val lazyΤιμή: String από lazy {
println("Υπολογισμός τιμής")
"Γειά σου, Kotlin!"
}
fun main() {
println(lazyΤιμή) // Εδώ η τιμή θα υπολογιστεί και θα εμφανιστεί
println(lazyΤιμή) // Εδώ η τιμή θα ληφθεί από την cache
}
Μπορείτε να δημιουργήσετε τους δικούς σας αναθέτες υλοποιώντας το interface ReadOnlyProperty ή ReadWriteProperty. Οι αναθέτες είναι χρήσιμοι για την υλοποίηση ιδιοτήτων με αναβολή αρχικοποίησης, παρακολούθηση αλλαγών, αποθήκευση σε χάρτες κ.λπ.