Avatar ·

Kotlin: किसी property के लिए public getter लेकिन private setter कैसे बनाएं?

नमस्ते! मैंने अभी Kotlin सीखना शुरू किया है और Java से आ रहा हूँ। Java में मैं private setter और public getter वाले fields बनाने का आदी था, उदाहरण के लिए: ```java private String name; public String getName() { return name; } private void setName(String name) { this.name = name; } ``` लेकिन Kotlin में मैं देखता हूँ कि properties (var) अपने आप getter और setter दोनों बनाती हैं। अगर मैं `var name: String` लिखता हूँ, तो getter और setter दोनों public हो जाते हैं। और अगर `val name: String` का उपयोग करता हूँ, तो property केवल पढ़ने के लिए होती है — setter बिल्कुल नहीं होता। मुझे चाहिए कि property को कहीं से भी पढ़ा जा सके (public getter), लेकिन इसका मान केवल class के अंदर बदला जा सके (private setter)। Kotlin में यह सही तरीके से कैसे करें? मैंने `private var name: String` लिखने की कोशिश की, लेकिन तब getter भी private हो जाता है, और मैं property को बाहर से नहीं पढ़ सकता। मैंने `var` से पहले और `set` के अंदर access modifiers के विभिन्न combinations आज़माए, लेकिन भ्रमित हो गया। कृपया बताएं कि public getter और private setter वाली property कैसे declare करें?