क्लास और इंटरफ़ेस संगतता के साथ जावा जेनरिक
जावा में, विशिष्ट बाधाओं के साथ एक क्लास ऑब्जेक्ट बनाना चुनौतीपूर्ण हो सकता है। एक सामान्य परिदृश्य एक क्लास ऑब्जेक्ट को परिभाषित करना है जो एक विशिष्ट इंटरफ़ेस को लागू करने के साथ-साथ एक विशेष क्लास का विस्तार करता है। हालाँकि, जेनेरिक का उपयोग करके दोनों बाधाओं को एक साथ प्राप्त करना विवाद का एक आम मुद्दा रहा है। ClassA>
या
Class extends ClassA>
केवल एक आवश्यकता को पूरा करेगा और दोनों को संयोजित करने में विफल रहेगा।
Class extends InterfaceB>समाधान
सौभाग्य से, जावा जेनेरिक कई इंटरफेस या क्लास प्लस के लिए अनुमति देते हैं इंटरफ़ेस. इसे प्राप्त करने के लिए, वाइल्डकार्ड घोषणा को निम्नानुसार संशोधित करें:
जैसा कि सन द्वारा जेनेरिक्स ट्यूटोरियल में दिखाया गया है, प्रत्येक अतिरिक्त आवश्यक इंटरफ़ेस के लिए & InterfaceName जोड़कर, एक मनमाने ढंग से जटिल संयोजन प्राप्त किया जा सकता है। उदाहरण के लिए, Collections#max की JavaDoc घोषणा इस जटिलता को प्रदर्शित करती है:
बाइनरी संगतता को संरक्षित करने के लिए इन जटिल घोषणाओं की आवश्यकता होती है।
Class extends InterfaceB>क्लास और इंटरफ़ेस बाधाओं के साथ कार्यान्वयन
एक परिवर्तनीय घोषणा में वांछित प्रतिबंध लागू करने के लिए, एक वर्ग पर एक सामान्य सीमा रखें:वर्ग क्लासबी { }
इंटरफ़ेस इंटरफ़ेससी { }
सार्वजनिक वर्ग MyClass
Class extends InterfaceB>
जावा जेनेरिक प्रतिबंधित वर्ग और इंटरफ़ेस संयोजन बनाने के लिए लचीले तरीके प्रदान करते हैं। सिंटैक्स और सीमाओं को समझकर, डेवलपर्स अपने कोड में विशिष्ट आवश्यकताओं को लागू करने के लिए इस शक्ति का लाभ उठा सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3