इंटरफ़ेस में Java उदाहरण के साथ
इंटरफ़ेस क्या है? Java?
An इंटरफ़ेस में Java प्रोग्रामिंग भाषा को एक अमूर्त प्रकार के रूप में परिभाषित किया जाता है जिसका उपयोग किसी वर्ग के व्यवहार को निर्दिष्ट करने के लिए किया जाता है। Java इंटरफ़ेस में स्थिर स्थिरांक और अमूर्त विधियाँ शामिल हैं। एक क्लास कई इंटरफ़ेस लागू कर सकता है। Javaइंटरफ़ेस कीवर्ड का उपयोग करके इंटरफ़ेस घोषित किए जाते हैं। इंटरफ़ेस में सभी विधियाँ अंतर्निहित रूप से सार्वजनिक और अमूर्त हैं।
इंटरफ़ेस घोषित करने के लिए सिंटैक्स
अपनी कक्षा में इंटरफ़ेस का उपयोग करने के लिए, अपनी कक्षा के नाम के बाद इंटरफ़ेस नाम के बाद “implements” कीवर्ड जोड़ें।
interface { //methods }
इंटरफ़ेस कार्यान्वयन के लिए उदाहरण
अब, आइए इंटरफ़ेस को समझते हैं Java उदाहरण सहित:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
क्लिक करें यहाँ उत्पन्न करें यदि वीडियो उपलब्ध न हो
इंटरफ़ेस की आवश्यकता क्यों है?
इंटरफ़ेस के उपयोग को समझने के लिए Java बेहतर है, चलो देखते हैं Java इंटरफ़ेस उदाहरण। क्लास “मीडिया प्लेयर” के दो उपवर्ग हैं: सीडी प्लेयर और डीवीडी प्लेयर। प्रत्येक का अपना अनूठा इंटरफ़ेस कार्यान्वयन है Java संगीत बजाने की विधि.
एक अन्य क्लास “कॉम्बो ड्राइव” सीडी और डीवीडी दोनों को इनहेरिट कर रही है (नीचे छवि देखें)। इसे कौन सी प्ले विधि इनहेरिट करनी चाहिए? इससे गंभीर डिज़ाइन समस्याएँ हो सकती हैं। और इसलिए, Java एकाधिक की अनुमति नहीं देता विरासत.
अब हम कुत्ते का एक और उदाहरण लेते हैं।
मान लीजिए कि आपके पास एक आवश्यकता है जहाँ क्लास “dog” क्लास “animal” और “Pet” को इनहेरिट करता है (नीचे इमेज देखें)। लेकिन आप दो क्लास को एक साथ नहीं बढ़ा सकते Javaतो आप क्या करेंगे? इसका समाधान है इंटरफ़ेस।
इंटरफ़ेस के लिए नियम पुस्तिका कहती है,
- A Java कार्यान्वयन इंटरफ़ेस 100% अमूर्त वर्ग है और इसमें केवल अमूर्त विधियाँ.
- क्लास किसी भी संख्या में इंटरफेस को क्रियान्वित कर सकता है।
क्लास डॉग को क्लास “एनिमल” तक विस्तारित किया जा सकता है और इंटरफ़ेस को “पेट” के रूप में कार्यान्वित किया जा सकता है।
Java इंटरफ़ेस उदाहरण:
आइये नीचे दिए गए इंटरफ़ेस प्रोग्राम को समझते हैं Java:
चरण 1) निम्नलिखित कोड को संपादक में कॉपी करें।
interface Pet{ public void test(); } class Dog implements Pet{ public void test(){ System.out.println("Interface Method Implemented"); } public static void main(String args[]){ Pet p = new Dog(); p.test(); } }
चरण 2) कोड को सेव करें, संकलित करें और चलाएँ। इंटरफ़ेस का आउटपुट देखें Java कार्यक्रम.
क्लास और इंटरफ़ेस के बीच अंतर
क्लास में, आप वेरिएबल को इंस्टैंसिएट कर सकते हैं और ऑब्जेक्ट बना सकते हैं। | किसी इंटरफ़ेस में, आप वेरिएबल को इंस्टैंसिएट नहीं कर सकते और ऑब्जेक्ट नहीं बना सकते। |
क्लास में ठोस (कार्यान्वयन सहित) विधियां हो सकती हैं | इंटरफ़ेस में ठोस (कार्यान्वयन सहित) विधियाँ नहीं हो सकतीं |
कक्षाओं के साथ प्रयुक्त एक्सेस विनिर्देशक निजी, संरक्षित और सार्वजनिक हैं। | इंटरफ़ेस में केवल एक विनिर्देशक का उपयोग किया जाता है- पब्लिक। |
इंटरफ़ेस और एब्सट्रेक्ट क्लास का उपयोग कब करें?
- जब उपवर्गों के समूह के लिए टेम्पलेट को परिभाषित करने की आवश्यकता हो तो अमूर्त वर्ग का उपयोग करें
- जब अन्य वर्गों के लिए भूमिका परिभाषित करने की आवश्यकता हो, तो इन वर्गों के वंशानुक्रम वृक्ष की परवाह किए बिना इंटरफ़ेस का उपयोग करें
इंटरफ़ेस के बारे में अवश्य जानें तथ्य
- A Java वर्ग कई कार्यान्वयन कर सकते हैं Java इंटरफेस: यह आवश्यक है कि क्लास इंटरफेस में घोषित सभी विधियों को लागू करे।
- क्लास को इंटरफ़ेस में घोषित सभी अमूर्त विधियों को ओवरराइड करना चाहिए
- इंटरफ़ेस किसी ऑब्जेक्ट को संदेश भेजने की अनुमति देता है, बिना इस बात की परवाह किए कि वह किस वर्ग से संबंधित है।
- क्लास को इंटरफ़ेस में घोषित विधियों के लिए कार्यक्षमता प्रदान करने की आवश्यकता है।
- इंटरफ़ेस में सभी विधियाँ अंतर्निहित रूप से सार्वजनिक और अमूर्त होती हैं
- इंटरफ़ेस को इंस्टैंशिएट नहीं किया जा सकता
- एक इंटरफ़ेस संदर्भ अपने कार्यान्वयन वर्गों की वस्तुओं को इंगित कर सकता है
- एक इंटरफ़ेस एक या कई इंटरफ़ेस से विस्तारित हो सकता है। क्लास केवल एक क्लास का विस्तार कर सकता है लेकिन किसी भी संख्या में इंटरफ़ेस को लागू कर सकता है
- एक इंटरफ़ेस दूसरे इंटरफ़ेस को लागू नहीं कर सकता। यदि आवश्यक हो तो उसे दूसरे इंटरफ़ेस का विस्तार करना होगा।
- एक इंटरफ़ेस जिसे किसी अन्य इंटरफ़ेस के अंदर घोषित किया जाता है उसे नेस्टेड इंटरफ़ेस कहा जाता है
- घोषणा के समय, इंटरफ़ेस वैरिएबल को इनिशियलाइज़ किया जाना चाहिए। अन्यथा, कंपाइलर एक त्रुटि फेंक देगा।
- यह क्लास जावा में दो इंटरफेस को क्रियान्वित नहीं कर सकता है जिनमें समान नाम वाली विधियां हों लेकिन रिटर्न प्रकार भिन्न हो।
सारांश:
- इंटरफ़ेस को लागू करने वाले वर्ग को इंटरफ़ेस में घोषित विधियों के लिए कार्यक्षमता प्रदान करने की आवश्यकता होती है
- इंटरफ़ेस में सभी विधियाँ अंतर्निहित रूप से सार्वजनिक और अमूर्त होती हैं
- इंटरफ़ेस को इंस्टैंशिएट नहीं किया जा सकता
- एक इंटरफ़ेस संदर्भ अपने कार्यान्वयन वर्गों की वस्तुओं को इंगित कर सकता है
- एक इंटरफ़ेस एक या कई इंटरफ़ेस से विस्तारित हो सकता है। एक क्लास केवल एक क्लास का विस्तार कर सकता है लेकिन किसी भी संख्या में इंटरफ़ेस को लागू कर सकता है