Sobes.tech
Junior — Middle

გთხოვთ ახსნათ Kotlin პროგრამირების ენაში დელეგირებულ თვისობრიობათა მუშაობის პრინციპი.

sobes.tech AI

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

Kotlin-ში, დელეგირებული თვისებები საშუალებას აძლევს გადამისამართოს წაკითხვის და დაწერის ოპერაციები სხვა ობიექტზე — დელეგატზე. ეს ამარტივებს მონაცემთა წვდომის ლოგიკის გადამეორებას.

სინტაქსი:

var თვისებისსახელი: ტიპი დელეგატით

მაგალითად, სტანდარტული lazy დელეგატი ინიციალიზაციას ახდენს პირველ მიმართვაზე:

val lazyმნიშვნელობა: String დელეგატით lazy {
    println("მნიშვნელობის გამოთვლა")
    "გამარჯობა, Kotlin!"
}

fun main() {
    println(lazyმნიშვნელობა) // აქ მნიშვნელობა გამოითვლება და გამოიტანება
    println(lazyმნიშვნელობა) // აქ მნიშვნელობა მიიღება კეშიდან
}

შეგიძლიათ შექმნათ თქვენი საკუთარი დელეგატები, იმპლემენტირებით ReadOnlyProperty ან ReadWriteProperty ინტერფეისებს. დელეგატები სასარგებლოა გადადებული ინიციალიზაციის, ცვლილებების მონიტორინგის, რუკებში შენახვის და სხვა მიზნით.