Junior — Middle
Ποια επιχειρήματα και παράμετροι δέχεται η μέθοδος getValue σε ένα αντικείμενο delegate;
sobes.tech AI
Απάντηση από AI
Η μέθοδος getValue ενός αντικειμένου delegate στο Kotlin δέχεται τρεις παραμέτρους:
- thisRef — το αντικείμενο στο οποίο εφαρμόζεται ο delegate (συνήθως μια περίπτωση της κλάσης στην οποία δηλώνεται η ιδιότητα). Ο τύπος της παραμέτρου αντιστοιχεί στον τύπο του ιδιοκτήτη της ιδιότητας.
- property — ένα αντικείμενο τύπου
KProperty<*>, που περιέχει πληροφορίες σχετικά με την ίδια την ιδιότητα (π.χ. το όνομα της ιδιότητας).
Η υπογραφή της μεθόδου είναι:
operator fun getValue(thisRef: Any?, property: KProperty<*>): T
όπου T είναι ο τύπος της τιμής που επιστρέφει η ιδιότητα.
Παράδειγμα:
class Delegate {
operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
return "Τιμή για την ιδιότητα '${property.name}'"
}
}
class Example {
val prop: String by Delegate()
}
fun main() {
val e = Example()
println(e.prop) // Εκτυπώνει: Τιμή για την ιδιότητα 'prop'
}