जावा में निजी तरीकों तक सीमित पहुंच प्रदान करना
जावा में, सी "मित्र" अवधारणा को दोहराना सीधे संभव नहीं है, जो अनुमति देता है किसी वर्ग के निजी सदस्यों की बाहरी संस्थाओं तक पहुंच। हालाँकि, वैकल्पिक तकनीकों का उपयोग करके एक समान व्यवहार प्राप्त किया जा सकता है। यहां बताया गया है कि यह कैसे काम करता है:
एक पैकेज में एक सार्वजनिक वर्ग बनाएं जो दूसरे पैकेज में निजी तरीकों तक पहुंचने के लिए आवश्यक "गुप्त हस्ताक्षर" का प्रतिनिधित्व करता है। विशिष्टता सुनिश्चित करने के लिए इस हस्ताक्षर वर्ग में एक निजी कंस्ट्रक्टर हो सकता है। अन्य पैकेज से सार्वजनिक विधियाँ, हस्ताक्षर वर्ग उदाहरण अनुमति देने के लिए "प्रमाण" के रूप में कार्य करता है मंगलाचरण।
उदाहरण:// कैपुलेट पैकेज पब्लिक क्लास जूलियट { सार्वजनिक स्थैतिक शून्य आलिंगन (रोमियो.प्यार प्यार) { ऑब्जेक्ट्स.requireNonNull(प्यार); // जूलियट के निजी तरीकों तक यहां पहुंचा जा सकता है। } }रोमियो.लव एक निजी कंस्ट्रक्टर के साथ एक सार्वजनिक वर्ग है, जो सुनिश्चित करता है कि केवल रोमियो ही एक उदाहरण बना सकता है।
रोमियो का कोड:// मोंटेग पैकेज पब्लिक क्लास रोमियो { सार्वजनिक स्थैतिक अंतिम वर्ग प्रेम { निजी प्रेम() { } } निजी स्थिर अंतिम प्रेम प्रेम = नया प्रेम(); सार्वजनिक स्थैतिक शून्य आलिंगनजूलियट() { जूलियट.आलिंगन(प्यार); } }
// Capulet package public class Juliet { public static void cuddle(Romeo.Love love) { Objects.requireNonNull(love); // Juliet's private methods can be accessed here. } }
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3