शायद गैर-कंप्यूटर समानता से शुरू करना सबसे आसान है।
विचार करें कि क्या आपने किसी को "दुकान पर जाना और रात के खाने के लिए अपने कुछ पसंदीदा भोजन" को बताया है।
यदि आप एक 14 साल के बेटे को यह कहा, वह शायद अपनी बाइक की दुकान में सवारी करना चाहते हैं, भोजन के लिए नकद भुगतान करने के लिए है, और आप रात का खाना के लिए पिज्जा होने होगी।
यदि आपने इसे अपनी पत्नी से कहा था, तो वह शायद स्टोर में ड्राइव करेगी, भोजन के लिए भुगतान करने के लिए एक कार्ड का उपयोग करेगी, और आप इसके बजाय चिकन कॉर्नन ब्लू खा रहे हैं।
एक कार्यक्रम में, चीज़ें थोड़ी बाहर काम उसी तरह: यदि आप एक अपेक्षाकृत अमूर्त स्तर पर कुछ निर्दिष्ट (दुकान पर जाने और रात का खाना मिलता है)। प्रत्येक वस्तु है कि लागू करने के लिए कैसे के अपने स्वयं के ठोस कार्यान्वयन प्रदान करता है, और कई मामलों में वास्तव में क्या यह (ऊपर पसंदीदा भोजन में मतभेद की तरह जैसे,) करने के लिए जा रहा है में कुछ बदलाव के लिए प्रदान करता है।
बेशक
, जब आप प्रोग्रामिंग कर रहे हैं, इस बात का सबसे एक विनिर्देश एक बहुत अधिक विस्तृत और स्पष्ट है कि आवश्यकता है।हालांकि सामान्य विचार वही रहता है। उपर्युक्त परिदृश्य के लिए, आपके पास person
बेस क्लास (या इंटरफ़ेस) हो सकता है जो go to store
और select favorite food
और pay for purchase
जैसी विधियों को परिभाषित करता है। इसके बाद आप adult
और teenager
जैसे कार्यान्वयन करेंगे, जिनमें से प्रत्येक ने स्टोर में जाने, पसंदीदा भोजन का चयन करने और खरीदारी के लिए भुगतान करने की अपनी पद्धति को परिभाषित किया है। वे विधियां पॉलिमॉर्फिक होंगी, क्योंकि प्रत्येक कार्यान्वयन के आपके द्वारा दिए गए उच्च-स्तरीय आदेश को पूरा करने का अपना तरीका होगा।
स्रोत
2011-10-13 02:52:15