मैं जावा और ऑब्जेक्ट उन्मुख प्रोग्रामिंग के लिए शुरुआत कर रहा हूं और अवधारणाओं में कुछ कठिनाई कर रहा हूं। होमवर्क के लिए, मुझे दो अलग-अलग कक्षाएं लिखनी होंगी जिनके पास एक ही सटीक एपीआई है लेकिन उन्हें अलग-अलग लागू किया गया है। इसका क्या अर्थ है और यह कैसे काम करता है?दो वर्गों के लिए एक ही एपीआई है लेकिन विभिन्न कार्यान्वयन का क्या अर्थ है?
उत्तर
समान API का अर्थ है कि दो वर्गों में सार्वजनिक विधियों की सटीक सूची होती है (प्रत्येक में एक ही विधि का नाम और विधि पैरामीटर अन्य वर्ग के रूप में होता है)। इन तरीकों का कार्यान्वयन प्रत्येक वर्ग में अलग हो सकता है। इसके अलावा, प्रत्येक वर्ग में निजी विधियां भी हो सकती हैं जो अन्य कक्षा में दिखाई नहीं देती हैं, क्योंकि निजी विधियां एपीआई का हिस्सा नहीं हैं जो एक वर्ग अपने उपयोगकर्ताओं को प्रदान करती है।
एक एपीआई आमतौर पर जावा में एक इंटरफेस द्वारा परिभाषित किया जाता है, इसलिए एक ही एपीआई वाले दो वर्ग आमतौर पर एक ही इंटरफेस को लागू करेंगे।
आप 'संरक्षित' विधियों IINM को भूल रहे हैं। –
@ टीटी। मैंने एक साधारण जवाब देने की कोशिश की। 'संरक्षित' विधियों को कक्षाओं का विस्तार करने वाले उपयोगकर्ताओं के लिए एपीआई का हिस्सा माना जा सकता है, लेकिन उन उपयोगकर्ताओं के लिए एपीआई का हिस्सा नहीं है जो केवल कक्षाओं के उदाहरण बनाते हैं और उन्हें विस्तारित नहीं करते हैं। – Eran
मैं हमेशा उन्हें "प्रोग्रामिंग इंटरफ़ेस" का हिस्सा मानता हूं। ['API'] में कुछ भी नहीं (https://en.wikipedia.org/wiki/Application_programming_interface) सार्वजनिक का उल्लेख करता है। अनुमोदित आमतौर पर एक एपीआई कहा जाता है जब बाहरी दुनिया में एक इंटरफेस पर विचार करते हुए, 'इंटरफ़ेस' निर्माण की तरह जो सख्ती से सार्वजनिक है। –
मैं आपको दिखाऊंगा। यह एक उदाहरण है कि दो वर्गों में एक ही एपीआई है।
interface ISpeak {
void sayHi();
}
class Teacher implements ISpeak{
@Override
public void sayHi() {
System.out.println("Hi!I am a Teacher!");
}
}
class Student implements ISpeak{
@Override
public void sayHi() {
System.out.println("Hi!I am a Student!");
}
}
जावा के भीतर और आधुनिक OOP के व्यापक संदर्भ इसका मतलब है कि दो class
तों ही interface
को लागू करना चाहिए, प्रभावी रूप से उन वर्गों के ग्राहकों उन कंक्रीट के कार्यान्वयन विवरण के बजाय कि इंटरफ़ेस द्वारा प्रदान की अमूर्त पर निर्भर करने की इजाजत दी कक्षाएं।
क्या आप कंप्यूटर-बोलने के बिना समझा सकते हैं? समझाओ जैसे आप किसी ऐसे व्यक्ति के लिए जो वास्तव में कुछ भी नहीं जानता, बहुत सरल तरीके से। धन्यवाद। – user1454994
आप के बजाय सरल भाषा के लिए कहा "कंप्यूटर बात:"
एक इंटरफेस एक अनुबंध की तरह है। अनुबंध कह सकते हैं हम
- लिए मुझे बताओ है आपका नाम (getName())
- मुझे आप रैंक बताओ (Getränk())
- मुझे बताओ अपना नंबर (getNumber())
अनुबंध का नाम है (अक्सर "सक्षम" - देखने योग्य, आदि में समाप्त होता है) आइए पहचान योग्य। यदि हम घोषणा करते हैं कि हम अनुबंध को लागू करते हैं तो हमें इसकी सभी आवश्यकताओं को पूरा करना होगा।
आप एक इंसान हो सकते हैं और मैं रोबोट हो सकता हूं - अन्य विभिन्न विशेषताओं और व्यवहार के साथ विभिन्न वर्ग।
class Human extends Object implements Identifiable
class Robot extends Object implements Identifiable
कार्यक्रम हमें बहुत अलग वस्तुओं के रूप में पेश कर सकता है। यह रोबोट को जाने और खुद को डॉक करने और चार्ज करने के लिए कह सकता है। यह मनुष्य को ऐसा कुछ करने के लिए कह सकता है जो मनुष्य केवल कर सकते हैं। लेकिन यह उनमें से किसी से खुद को पहचानने के लिए कह सकता है।
- 1. एक ही अनुबंध, एक ही बाध्यकारी, एक ही पता, लेकिन विभिन्न बंदरगाहों के लिए संभव है?
- 2. एक ही कक्षा के दो विभिन्न सेम
- 3. जेपीए एक ही नाम के साथ दो वर्गों को कैसे पहचान सकता है लेकिन विभिन्न पैकेजों में?
- 4. ISupportErrorInfo का कार्यान्वयन - इसका क्या अर्थ है?
- 5. एक ही छवि है, लेकिन विभिन्न बेस 64
- 6. ओओ भाषा के लिए एपीआई लिखने का क्या अर्थ है?
- 7. "एपीआई थ्रॉटलिंग" और "एपीआई थ्रॉटलिंग चेतावनी" का क्या अर्थ है?
- 8. इंटरफ़ेस के कार्यान्वयन में स्थिर चर का अर्थ क्या है?
- 9. दो फ़ंक्शंस लिखने का क्या अर्थ है?
- 10. एपीआई परीक्षण का क्या अर्थ है?
- 11. दो वर्गों में एक ही एक्सएमएल प्रकार का नाम
- 12. एपीआई स्तर का क्या अर्थ है?
- 13. दो वर्गों है कि एक दूसरे को
- 14. एक ही फ़ाइल के भीतर दो वर्गों की दृश्य तुलना क्या उपकरण कर सकता है?
- 15. क्या विभिन्न वर्गों से चालकों को स्थानांतरित करना आवश्यक है?
- 16. विभिन्न डीसीओएम/COM सुरक्षा सेटिंग्स का क्या अर्थ है?
- 17. "रिमोटेबल" का क्या अर्थ है?
- 18. क्या इन दो वर्गों ने encapsulation का उल्लंघन किया है?
- 19. चुनना तत्व केवल तभी दो वर्गों है और का हिस्सा ही पहले एक
- 20. जावा जेसीई प्रदाताओं - "साफ कमरे कार्यान्वयन" का क्या अर्थ है?
- 21. वैकल्पिक पायथन कार्यान्वयन संस्करण संख्याओं का अर्थ है कि वे एक ही वाक्यविन्यास प्रदान करते हैं?
- 22. क्या एडा का एक मुफ्त कार्यान्वयन है?
- 23. क्या एसक्लगोमेट्रीबिल्डर के लिए कोई कार्यान्वयन है?
- 24. शब्द प्लेटफ़ॉर्म और एपीआई का क्या अर्थ है?
- 25. दो सक्रिय व्यवस्थापक वर्गों
- 26. वीबी.Net में एक इंटरफ़ेस को कार्यान्वित करने के लिए कैसे करें जब दो विधियों का एक ही नाम होता है लेकिन विभिन्न पैरामीटर
- 27. "ld: पुस्तकालय -lXYZ के लिए नहीं मिला" का अर्थ क्या है? विभिन्न संभावनाएं क्या हैं?
- 28. "=>" का क्या अर्थ है?
- 29. "===" का क्या अर्थ है?
- 30. "सीटीएक्स" का क्या अर्थ है?
यह एक कार की तरह है, यह या तो एक स्पोर्ट्सकार या एक पारिवारिक कार हो सकता है। वे एक ही तरीके (तेज, बंद, शुरू, ...) होना चाहिए, लेकिन उनका व्यवहार अलग है। इसलिए, उनके पास एक ही तरीके हैं, बस एक अलग कार्यान्वयन – Stultuske