व्यवहार में Interfaces
interfaces को types के रूप में उपयोग कीजिए, उन्हें methods में भेजिए और implementations को आसानी से बदलिए। लचीले code के लिए छोटे patterns का अभ्यास कीजिए
व्यवहार में Interfaces, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 3 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
व्यवहार में इंटरफ़ेस
व्यवहार में इंटरफ़ेस: क्षमताओं को प्रकारों की तरह उपयोग करें और कॉल करने वाले कोड को ठोस वर्गों से स्वतंत्र रखें। आप किसी विधि को इंटरफ़ेस दे सकते हैं, उसे किसी सूची में रख सकते हैं और आवश्यकता होने पर उसकी जगह कोई दूसरा कार्यान्वयन रख सकते हैं।
पैरामीटर के रूप में Interface
यदि विधियाँ इंटरफ़ेस प्रकार को पैरामीटर के रूप में लेती हैं, तो उनमें लचीलापन आता है:
- कॉल करने वाला कोड अपरिवर्तित रहता है।
- अलग-अलग वर्ग एक ही अनुबंध लागू करके उपयोग किए जा सकते हैं।
- परीक्षण में नकली कार्यान्वयन या अस्थायी नमूना लगाकर आप जल्दी प्रयोग कर सकते हैं।
कोड: Printable क्षमता
विधि ठोस वर्ग के बजाय Printable अनुबंध का उपयोग करती है; कार्यान्वयन बदलने पर भी कॉल करने वाला कोड वही रहता है।
public class Main {
// 1) Define a tiny capability
static interface Printable { void print(); }
// 2) Two implementations
static class TextDoc implements Printable {
public void print() { System.out.println("[TextDoc] Printing text pages"); }
}
static class Photo implements Printable {
public void print() { System.out.println("[Photo] Printing a photo"); }
}
// 3) A method that depends on capability, not class
static void runJob(Printable p) {
p.print(); // caller does not care which class it is
}
public static void main(String[] args) {
runJob(new TextDoc());
runJob(new Photo());
}
}
वापसी प्रकार के रूप में इंटरफ़ेस
कभी-कभी कोई फ़ैक्टरी विधि एक इंटरफ़ेस लौटाती है। कॉल करने वाले को केवल क्षमताएँ दिखाई देती हैं; उसे वास्तविक वर्ग जानने की आवश्यकता नहीं होती। इससे निर्भरता घटती है और मॉड्यूलरिटी बढ़ती है।
कोड: Formatter के साथ रणनीति
एक ही विधि अलग-अलग Formatter कार्यान्वयनों के साथ काम करती है। वर्ग बदले बिना हम व्यवहार बदल सके।
public class Main {
// Strategy: different ways to format text
static interface Formatter { String format(String s); }
static class UpperFormatter implements Formatter {
public String format(String s) { return s.toUpperCase(); }
}
static class LowerFormatter implements Formatter {
public String format(String s) { return s.toLowerCase(); }
}
// Uses any Formatter
static String show(String title, Formatter f) {
return title + " -> " + f.format(title);
}
public static void main(String[] args) {
System.out.println(show("Hello", new UpperFormatter()));
System.out.println(show("Hello", new LowerFormatter()));
}
}
कोड: इंटरफ़ेस सूची
एक सरणी/सूची इंटरफ़ेस प्रकार की हो सकती है। लूप एक ही प्रकार का आह्वान करता है; प्रत्येक तत्व अपना कार्यान्वयन चलाता है।
public class Main {
static interface Task { void run(); }
static class EmailTask implements Task { public void run(){ System.out.println("Send email"); } }
static class ReportTask implements Task { public void run(){ System.out.println("Generate report"); } }
static class CleanupTask implements Task { public void run(){ System.out.println("Clean temp files"); } }
public static void main(String[] args) {
Task[] queue = { new EmailTask(), new ReportTask(), new CleanupTask() };
for (int i = 0; i < queue.length; i = i + 1) {
queue[i].run(); // same call, different behavior
}
}
}
इंटरफ़ेस अभ्यास जाँच
त्वरित जाँच: इंटरफ़ेस के अनुसार प्रोग्राम करना उपयोगी क्यों है?
पुनरावलोकन
पुनरावलोकन: इंटरफ़ेस प्रकार का उपयोग पैरामीटर, वापसी मान और संग्रह के लिए करने से कोड लचीला बनता है। आप कार्यान्वयन बदल सकते हैं और परीक्षण में नकली वस्तुओं के साथ जल्दी प्रयोग कर सकते हैं।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “व्यवहार में Interfaces” पाठ निःशुल्क है?
हाँ—“व्यवहार में Interfaces” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“व्यवहार में Interfaces” में मैं क्या सीखूँगा?
interfaces को types के रूप में उपयोग कीजिए, उन्हें methods में भेजिए और implementations को आसानी से बदलिए। लचीले code के लिए छोटे patterns का अभ्यास कीजिए आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 1वाँ पाठ है।
“व्यवहार में Interfaces” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- व्यवहार में Interfaces
- Generics की बुनियादी बातें (T, inference)
- Generic Methods/Classes