Junior — Middle
Delegat obyekti üçün getValue metodunun hansı arqumentləri və parametrləri mövcuddur?
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'
}