Sobes.tech
Junior — Middle

Ποια επιχειρήματα και παράμετροι δέχεται η μέθοδος getValue σε ένα αντικείμενο delegate;

sobes.tech AI

Απάντηση από AI

Η μέθοδος getValue ενός αντικειμένου delegate στο Kotlin δέχεται τρεις παραμέτρους:

  1. thisRef — το αντικείμενο στο οποίο εφαρμόζεται ο delegate (συνήθως μια περίπτωση της κλάσης στην οποία δηλώνεται η ιδιότητα). Ο τύπος της παραμέτρου αντιστοιχεί στον τύπο του ιδιοκτήτη της ιδιότητας.
  2. 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'
}