Junior — Middle
Delegat obyekti uchun getValue metodining qanday argumentleri va parametrlari mavjud?
sobes.tech AI
AIден жооп
Kotlinде делегат объекттин getValue методу үч параметр кабыл алат:
- thisRef — делегат колдонулган объект (көп учурда, мүнөздөмө жарыяланган классинин экземпляри). Параметрдин тиби мүнөздөмөнүн ээси болгон тиб менен дал келет.
- 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'
}