स्काला में मुझे ऑब्जेक्ट-प्राइवेट वैरिएबल जैसी सुविधा दिखाई देती है। मेरी बहुत समृद्ध जावा पृष्ठभूमि से मैंने आवश्यक होने पर सब कुछ बंद करना (इसे निजी बनाना) और खुला (एक्सेसर्स प्रदान करना) सीखा। स्काला और भी अधिक सख्त पहुंच संशोधक का परिचय देता है। क्या मुझे इसे हमेशा डिफ़ॉल्ट रूप से उपयोग करना चाहिए? या क्या मुझे इसे केवल कुछ विशिष्ट मामलों में उपयोग करना चाहिए, जहां मुझे एक ही वर्ग की वस्तुओं के लिए भी फ़ील्ड के बदलते मूल्य को स्पष्ट रूप से प्रतिबंधित करने की आवश्यकता है? दूसरे शब्दों में मुझे कैसे चुनना चाहिए
class Dummy {
private var name = "default name"
}
class Dummy {
private[this] var name = "default name"
}
दूसरा अधिक सख्त है और मुझे यह पसंद है लेकिन क्या मुझे हमेशा इसका उपयोग करना चाहिए या केवल अगर मेरे पास एक मजबूत कारण है?
EDITED: जैसा कि मैं देख रहा हूं कि यहां private[this]
कुछ सबकेस है और इसके बजाय this
मैं अन्य मॉडिफायर का उपयोग कर सकता हूं: "पैकेज, क्लास या सिंगलटन ऑब्जेक्ट"। तो मैं इसे कुछ विशेष मामले के लिए छोड़ दूँगा।