तकनीकी रूप से, हाँ, MyList
List
है यदि यह List
इंटरफ़ेस के सभी विधियों को लागू करता है। लेकिन संकलक कोई जादूगर नहीं है। यह जांच नहीं कर सकता कि आपके तरीके वे करते हैं जो उन्हें करना चाहिए। और निश्चित रूप से, प्रत्येक विधि को यह करना चाहिए कि इसका दस्तावेज क्या करता है।
अगर मैं एक List
प्राप्त करते हैं, और इस List
MyList
का एक उदाहरण है, और मैं list.add("foo")
कहते हैं, मैं उम्मीद "foo" सूची के अंत में जोड़ा जा सके। हटाया नहीं जाना चाहिए, या दो बार जोड़ा नहीं जा सकता है, या जो भी अन्य व्यवहार। तो, ज़ाहिर है, अगर आपकी कक्षा List
लागू करती है, तो इसके तरीकों को अपने एपीआई दस्तावेज में परिभाषित अनुबंध का पालन करना चाहिए।
कल्पना कीजिए कि आप कारें बेचते हैं। मैं आपकी दुकान में जाता हूं, और एक कार खरीदता हूं। मेरे लिए, यह एक कार है क्योंकि यह अन्य सभी कारों की तरह दिखती है: इसमें पहियों, पेडल, खिड़कियां इत्यादि हैं। लेकिन अगर मैं त्वरक दबाता हूं, तो ब्रेक करता है, और जब मैं रोशनी चालू करता हूं, तो यह सम्मान करता है, और जब मैं खोलता हूं खिड़कियां, यह सड़क पर एक गरीब बच्चे को गति देता है और मारता है, मैं बिल्कुल खुश नहीं रहूंगा और आपको परेशानी होगी क्योंकि जिस कार को आपने मुझे बेचा है वह सही तरीके से व्यवहार नहीं कर रहा है।
स्रोत
2016-06-18 14:44:09
माईलिस्ट एक सूची है? हां – Enzokie
@Enzokie तो मैं कुछ भी करने के लिए 'add' लागू नहीं करूँगा और हमेशा 'शून्य' वापस लौटने के लिए लागू करूंगा, फिर भी आप इसे एक सूची कहेंगे? –
जब तक आप सूची को लागू करते हैं, तब भी इसे एक सूची कहा जाता है। दिन के अंत में यह आपका निर्णय है कि क्या आपने उन लागू तरीकों पर कुछ डाला है या कुछ असमर्थित अपवाद फेंक दिया है, फिर भी तथ्य यह है कि इसे अभी भी एक सूची कहा जाता है। – Enzokie