როგორ გამოვიყენოთ 'backing fields' Kotlin-ში?
sobes.tech AI
პასუხი AI-სგან
دعم ساحې ('backing fields') په اوتوماتيک ډول د کمپایلر لخوا تولیدیږي کله چې د معیاري getters/setters کارول کیږي او څرګند اعلان ته اړتیا نلري. دا د ملکیت ارزښت ذخیره کولو لپاره کارول کیږي.
د 'backing fields' څرګند کارول په نادره توګه اړتیا لري، لکه کله چې تاسو غواړئ یو getter یا setter شخصي کړئ او په ورته وخت کې د ملکیت د ارزښت سره اشاره وکړئ، پرځای د getter د تلیفون، چې کولی شي تکرار رامینځته کړي.
د 'backing field' ته څرګند لاسرسی د getter یا setter دننه د field پیژندونکي کارولو سره کیږي.
class MyClass {
var counter = 0 // کمپایلر به د دې ملکیت لپاره یو backing field تولید کړي
set(value) {
// د شرط چک کولو مخکې د ټاکلو
if (value >= 0) {
// څرګند لاسرسی backing field ته
field = value
}
}
}
'Backing field' د ملکیت لپاره نه تولیدیږي که چیرې هیڅ ملکیت یې ونه کاروي (لکه، د انتزاعي ملکیتونو یا د انٹرفیس ملکیتونو لپاره)، یا که getters او setters بشپړ شخصي شوي وي او د کمپایلر لخوا تولید شوی 'backing field' ونه کاروي.
مثال چې 'backing field' نه تولیدیږي:
interface MyInterface {
val abstractProperty: String // هیڅ backing field نشته
}
class AnotherClass {
val computedProperty: Int
get() = (1 + 2) // Getter backing field نه کاروي، هیڅ backing field نشته
}