Sobes.tech
Junior — Middle

Delegat obyekti üçün getValue metodunun hansı arqumentləri və parametrləri mövcuddur?

sobes.tech AI

პასუხი AI-სგან

Kotlin-ში დელეგატის ობიექტის getValue მეთოდი იღებს სამ პარამეტრს:

  1. thisRef — ობიექტი, რომლისთვისაც გამოიყენება დელეგატი (საშუალოდ, ეს არის კლასი, სადაც გამოაცხადა თვისება). პარამეტრის ტიპი ემთხვევა თვისების მფლობელის ტიპს.
  2. propertyKProperty<*> ტიპის ობიექტი, რომელიც შეიცავს ინფორმაციას თვისების შესახებ (მაგალითად, თვისების სახელი).

მეთოდის სიგნატურა ასე გამოიყურება:

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'
}