विषय-सूचि
जावा में इंटरफेस क्या है? (java interface in hindi)
जावा प्रोग्रेंमिंग में क्लास के अनुरूप, इंटरफ़ेस में भी मेथोड्स और वेरिएबल्स हो सकते हैं, लेकिन इंटरफ़ेस में डिक्लेअर किए गए मेथोड्स बाय-डिफ़ॉल्ट ऍबस्ट्रैक्ट होते हैं।
इंटरफ़ेस और क्लास के बीच की समानताएं (Similarities between interface and class in hindi)
- इंटरफ़ेस निर्धारित करता हैं की, क्लास ने क्या करना चाहिए और क्या नहीं करना चाहिए।
- अगर, एक क्लास किसी इंटरफ़ेस तो इस्तेमाल कर रहा हैं( इम्प्लेमेंट कर रहा हैं) और इंटरफ़ेस में डिक्लेअर किए गए सभी फंक्शन्स को अगर क्लास में डिफाइन नहीं किया जाता हैं। तो ऐसी परिस्थिति में क्लास को भी ऍबस्ट्रैक्ट डिक्लेअर करना जरुरी हैं।
- क्लास के समान इंटरफ़ेस को भी .java एक्सटेंशन से सेव किया जाता हैं, जिसमें इंटरफ़ेस का नाम और प्रोग्राम का नाम समान हों।
- इंटरफ़ेस के लिए जावा कम्पाइलर द्वारा जनरेट किए गए बाइट कोड को .class एक्स्टेन्शन से सेव किया जाता हैं।
इंटरफ़ेस और क्लास के बीच का अंतर (Differences between interface and class in hindi)
- हालाँकि, क्लास और इंटरफ़ेस के बीच काफी समानताएं हैं। लेकिन फिर भी क्लास के अनुरूप इंटरफ़ेस का ऑब्जेक्ट डिक्लेअर नहीं किया जा सकता हैं।
- इंटरफ़ेस में कंस्ट्रक्टर नहीं हो सकते, जावा में इसकी अनुमति नहीं हैं।
- एक इंटरफ़ेस से कई इंटरफ़ेस एक्सटेंड किए जा सकते हैं।
इंटरफ़ेस को डिक्लेअर कैसे करें (How to declare interface in hindi)
जावा प्रोग्रामिंग लैंग्वेज में इंटरफ़ेस को डिक्लेअर करने हेतु interface इस कीवर्ड का इस्तेमाल किया जाता हैं। इसका अर्थ हैं, की इंटरफ़ेस में डिक्लेअर किए गए सभी फंक्शन्स के बॉडी में कुछ भी लिखा गया नहीं हैं, और वे सभी फंक्शन्स पब्लिक हैं
क्लास जिसमें इंटरफ़ेस तो इम्प्लेमेंट किए जाना हैं, उसमें implements इस कीवर्ड का इस्तेमाल किया जाता हैं।
सिंटेक्स-
interface <interface_name>
{
//declare constant fields
//declare methods that are abstract
//by default
}
इंटरफ़ेस का इस्तेमाल क्यों किया जाता हैं? (use of interface in java in hindi)
- जावा प्रोग्रामिंग, मल्टीपल इनहेरिटेंस को सपोर्ट नहीं करती, लेकिन इंटरफ़ेस का इस्तेमाल करते हुए मल्टीपल इनहेरिटेंस को हासिल किया जा सकता हैं।
- इंटरफ़ेस का इस्तेमाल लूज लूपिंग को प्राप्त करने हेतु भी किया जाता हैं।
- इंटरफ़ेस का इस्तेमाल ऍबस्ट्रैक्टक्शन को हासिल करने के लिए किया जाता हैं।
उदाहरण-
//simple interface
interface Player
{ final int id=10;
int move();
}
इंटरफ़ेस के गुणधर्म (Properties of Interface in hindi)
- इंटरफ़ेस बाय-डिफ़ॉल्ट ऍबस्ट्रैक्ट होता हैं, इसलिए इंटरफ़ेस डिक्लेअर करते समय ऍबस्ट्रैक्ट इस कीवर्ड का इस्तेमाल न करें।
- इंटरफ़ेस के अनुरूप, इंटरफ़ेस में डिक्लेअर किए गए सभी फंक्शन्स भी ऍबस्ट्रैक्ट होते हैं, इसलिए उन्हें लिखते या डिक्लेअर करते समय ऍबस्ट्रैक्ट कीवर्ड का इस्तेमाल न करें।
- हालाँकि, इंटरफ़ेस स्वतः और और उसमें डिक्लेअर किए गए फंक्शन्स ऍबस्ट्रैक्ट होते हैं, लेकिन सभी इंटरफ़ेस फंक्शन्स पब्लिक होते हैं।
इंटरफ़ेस का क्रियान्वयन (Implementation of Interface in hindi)
इंटरफ़ेस के क्रियान्वयन को आसानी से समझने के लिए, एक उदाहरण देखते हैं। मान लीजिए दो क्लास आपस में कॉन्ट्रैक्ट साइन कर रहे हैं। इस कॉन्ट्रैक्ट द्वारा वे आपस में सहमत हैं कि इंटरफ़ेस में दीए गए सभी फंक्शन्स परफॉर्म किए जाएँगे। लेकिन अगर फंक्शन्स परफॉर्म नहीं किए जाते, तब क्लास को खुदको ऍबस्ट्रैक्ट घोषित करना होगा।
इंटरफ़ेस को क्लास में इस्तेमाल करने के लिए implements इस कीवर्ड का इस्तेमाल किया जाता हैं। इस कीवर्ड का इस्तेमाल क्लास डिक्लेअर करते समय किया जाना जरुरी हैं।
उदाहरण-
interface Animal
{
public void eat();
public void travel();
}
public class Mammal implements Animal
{
public void eat()
{
System.out.println(“Mammal eats”);
}
public void travel()
{
System.out.println(“Mammal travels”);
}
public static void mian(String args[])
{
Mammal m=new Mammal();
m.eat();
m.travel();
}
}
आउटपुट-
Mammal eats
Mammal travels
स्पष्टीकरण-
जैसा की आप देख सकते हैं, ऊपर दिए गए उदाहरण में हमने एक इंटरफ़ेस डिक्लेअर किया हैं, उसका नाम Animal यह हैं। उसमें हमने दो फंक्शन भी डिक्लेअर किए हैं, लेकिन इंटरफ़ेस में हमने उन फंक्शन्स को डिफाइन नहीं किया हैं।
आग बढ़ते हुए हमने, एक क्लास भी डिक्लेअर किया है और उस क्लास में इंटरफ़ेस Animal को implements इस कीवर्ड की मदत से इस्तेमाल किया हैं। इस क्लास में हमने इंटरफ़ेस Animal में डिक्लेअर सभी फंक्शन को डिफाइन कर, उनका इस्तेमाल किया हैं।
इसी प्रकार आप, किसी भी इंटरफ़ेस को किसी भी क्लास में इस्तेमाल कर सकते हैं, लेकिन ध्यान रहे की implements इस कीवर्ड का इस्तेमाल, क्लास डिफाइन करते समय करना न भूलें।
इस लेख से सम्बंधित यदि आपका कोई भी सवाल या सुझाव है, तो आप उसे नीचे कमेंट में लिख सकते हैं।