कोटलिन में गेटर्स और सेटर स्वतः उत्पन्न होते हैं। यदि आप लिखते हैं:
val isEmpty: Boolean
यह निम्न जावा कोड के बराबर है:
private final Boolean isEmpty;
public Boolean isEmpty() {
return isEmpty;
}
आपके मामले में निजी एक्सेस संशोधक निरर्थक है - isEmpty डिफ़ॉल्ट रूप से निजी है और इसे केवल एक गेटटर द्वारा एक्सेस किया जा सकता है। जब आप अपनी वस्तु को प्राप्त करने की कोशिश करते हैं, तो आप वास्तविक तरीके से संपत्ति प्राप्त करते हैं। कोटलिन में गेटर्स / सेटर्स की अधिक समझ के लिए: नीचे दिए गए दो कोड नमूने बराबर हैं:
var someProperty: String = "defaultValue"
तथा
var someProperty: String = "defaultValue"
get() = field
set(value) { field = value }
इसके अलावा, मैं यह thisबताना चाहता हूं कि एक गेटटर में आपकी संपत्ति नहीं है - यह वर्ग का उदाहरण है। यदि आप एक गेट्टर या सेटर में क्षेत्र के मूल्य तक पहुंच प्राप्त करना चाहते हैं, तो आप fieldइसके लिए आरक्षित शब्द का उपयोग कर सकते हैं :
val isEmpty: Boolean
get() = field
यदि आप केवल सार्वजनिक पहुँच में एक विधि प्राप्त करना चाहते हैं - आप इस कोड को लिख सकते हैं:
var isEmpty: Boolean
private set
सेट एक्सेसर के पास निजी संशोधक के कारण आप इस मान को केवल अपने ऑब्जेक्ट के अंदर के तरीकों में सेट कर सकते हैं।
In your case the private access modifier is redundantकैसे? कोटलिन डॉक्टर का कहना है कि डिफ़ॉल्ट संशोधक सार्वजनिक है। kotlinlang.org/docs/reference/visibility-modifiers.html