Problem

3/6

पहुँच संशोधक

Theory Click to read/hide

एक्सेस संशोधक
डिफ़ॉल्ट रूप से, जावा में एक वर्ग के सभी फ़ील्ड और तरीके निजी होते हैं। इसका मतलब यह है कि कोई भी उन्हें एक्सेस नहीं कर सकता है, जिसका अर्थ है कि इस वर्ग की वस्तुओं के बाहर कोई भी विधि इस वर्ग की वस्तुओं के क्षेत्रों और विधियों का उपयोग नहीं कर सकती है।

पहुँच संशोधक सार्वजनिक के साथ फ़ील्ड और विधियों को सार्वजनिक किया जा सकता है। एक निजी संशोधक भी है जो क्षेत्र को निजी बनाता है। यह वैकल्पिक है क्योंकि सभी फ़ील्ड और विधियाँ डिफ़ॉल्ट रूप से निजी हैं। यहां सार्वजनिक  और निजी संशोधक का उपयोग करने का एक उदाहरण दिया गया है। कक्षा की किताब { सार्वजनिक स्ट्रिंगनाम; स्ट्रिंग लेखक का नाम; निजी अंतर आयु आवश्यकता; स्ट्रिंगटेक्स्ट; सार्वजनिक इंट पेजकाउंट; int getTextLength () { वापसी पाठ की लंबाई (); } सार्वजनिक int getAverageLetterCount () { वापसी getTextLength () / पेजकाउंट; } निजी int getDifficuiltyLevel () { वापसी 5 * उम्र की आवश्यकता * पाठ। लंबाई (); } }
<कोड>पुस्तक वर्ग के इस संस्करण में, फ़ील्ड्स <कोड>नाम और <कोड>पेजकाउंट को पढ़ने और अन्य वस्तुओं में संशोधन के लिए सार्वजनिक किया गया है। getAverageLetterCount() विधि अन्य वर्गों की वस्तुओं से बुलाए जाने के लिए भी उपलब्ध है। अन्य सभी क्षेत्र और विधियाँ निजी रहती हैं और केवल इस वर्ग के तरीकों में उपलब्ध हैं। पब्लिक मेथड getAverageLetterCount() में हम प्राइवेट मेथड getTextLength() को कॉल कर सकते हैं क्योंकि getAverageLetterCount() क्लास से ही संबंधित है। लेकिन यह दूसरी क्लास के तरीके से काम नहीं करेगा।

लेकिन फिर खेतों को निजी क्यों बनाया जाए? जावा कोड में, आप अधिकतर केवल निजी फ़ील्ड देखेंगे। तथ्य यह है कि यदि निजी क्षेत्रों तक पहुंच वस्तु के सार्वजनिक तरीकों के माध्यम से की जाती है, तो निजी क्षेत्रों तक ऐसी किसी भी पहुंच के साथ अतिरिक्त क्रियाएं और जांच करना संभव होगा। इसके बारे में अधिक जानकारी एनकैप्सुलेशन के पाठ में मिलेगी।

Problem

पुस्तक वर्ग के सभी क्षेत्रों को निजी बनाएं। इसमें वर्तमान में मौजूद सभी विधियों को हटा दें।

एक तर्क newText के साथ setText (return type void) नामक एक सार्वजनिक विधि बनाएं जो text के मान को बदल देगा newText के लिए। एक निजी getWordsCount विधि जोड़ें जो पाठ में शब्दों की संख्या की गणना करेगी और इसे int के रूप में वापस करेगी।
शब्द — किसी भी वर्ण का अनुक्रम, जिसके बीच कोई स्थान नहीं है।

यह गारंटी है कि एक पंक्ति में कई स्थान नहीं जा सकते।