संभव डुप्लिकेट:
What does it mean to “program to an interface”?
Interface vs Abstract Class (general OO)जावा इंटरफेस के बारे में उलझन
मैं जावा जानने के लिए नया हूँ और अब मैं इंटरफ़ेस के बारे में संदेह में हूँ। मैंने कई सामग्रियों की खोज की है और पढ़ा है लेकिन अभी भी स्पष्ट नहीं है।
जब मैं इंटरफ़ेस के बारे में कुछ जानकारी खोजने का प्रयास करता हूं, तो मुझे लगता है कि कई लोगों ने इंटरफ़ेस और अमूर्त वर्ग के बीच संबंधों के बारे में बात की है। लेकिन मुझे यह भी नहीं पता कि वे इन दोनों के विपरीत क्यों हैं। क्योंकि मुझे लगता है कि अमूर्त वर्ग का उपयोग अन्य लोगों को बताने के लिए किया जाता है, आप इस अमूर्त वर्ग का एक वस्तु नहीं बना सकते हैं और यदि आप चाहते हैं, तो आपको अमूर्त वर्ग को संशोधित करना होगा। यह विरासत के बारे में कुछ है, है ना?
लेकिन मुझे इंटरफ़ेस का अर्थ नहीं पता है। interface a
है, और यदि class B
इंटरफ़ेस को कार्यान्वित करने जा रहा है, तो इसे आरक्षित शब्द class B implements a
का उपयोग करना होगा, और उसके बाद इंटरफ़ेस की सभी विधियों को पूरा करना होगा। लेकिन मेरा सवाल यह है कि, यदि कक्षा बी को अपने सभी तरीकों को पूरा करना है, तो इंटरफ़ेस का अर्थ क्या है? मुझे लगता है कि हमें इसकी आवश्यकता नहीं है। मुझे यह बहुत समझ में नहीं आता है। मैंने कई वाक्य पढ़े जैसे: "इंटरफ़ेस ऑब्जेक्ट उन्मुख भाषा के मूल विचार को प्रतिबिंबित कर सकता है", "इंटरफ़ेस प्रोग्राम को आसान बनाने में मदद कर सकता है" और इसी तरह। लेकिन मैं वास्तव में अर्थ समझ नहीं सकता।
तो, क्या कोई मुझे इंटरफ़ेस समझने के लिए कुछ उदाहरण दिखा सकता है? या आप मुझे कुछ उपयोगी लिंक या किताबें बता सकते हैं जो इंटरफ़ेस का स्पष्ट रूप से वर्णन करते हैं। मैं वास्तव में इसे समझने की उम्मीद करता हूं। धन्यवाद!
यह जावा में इंटरफेस के बारे में आपको और अधिक जानने में मदद कर सकता है: http://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an-interface – Jimmy
एकमात्र उद्देश्य इंटरफ़ेस * सार्वजनिक रूप से परिभाषित प्रोटोकॉल व्यवहार प्राप्त करने के लिए है * जिसका अर्थ है कि इंटरफ़ेस को प्राप्त करने वाले वर्ग को उस इंटरफ़ेस द्वारा परिभाषित सभी विधियों को शामिल करना आवश्यक है, विशेष रूप से यह उस वर्ग के लिए प्रोटोकॉल परिभाषा * है। (एक इंटरफेस के भीतर परिभाषित हर चीज वैसे भी सार्वजनिक होनी चाहिए)। – Lion