उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर
उन्नत कक्षाएं
कक्षा बहुरूपता
उद्देश्य
कुछ वाइन मिश्रण तैयार करना समाप्त करें ताकि उन्हें प्रोसेसिंग के लिए तैयार किया जा सके, इसके लिए क्लास पॉलिमार्फिज्म का उपयोग करें।
कुछ विशेष वाइन के प्रकार हैं जिन्हें अन्य की तुलना में अधिक तैयारी की आवश्यकता होती है और जिन्हें मिलाने और सही वाइन में उम्र बढ़ाने से पहले अतिरिक्त तत्वों की आवश्यकता होती है। इसे प्राप्त करने के लिए हमें क्लास पॉलिमार्फिज्म का उपयोग करना होगा, यह उन ऑब्जेक्ट्स का उपयोग अनुकूलित करने का एक तरीका है जिन्हें क्लासेज का उपयोग करके बनाया गया है। यह इस तरह से किया जाता है कि आंतरिक क्लास फ़ंक्शंस एक ही तरीके से कॉल किए जा सकें, भले ही वे विभिन्न क्लासेस से हों, क्योंकि वे एक ही प्रॉपर्टीज़ साझा करते हैं।
कोड एडिटर में आपके पास चार (4) क्लासेस सेटअप की गई होंगी जिनमें चार अलग-अलग प्रकार की वाइन शामिल हैं: grape, cherry, strawberry और mango। प्रत्येक क्लास में add() और take_action() नाम के दो फ़ंक्शंस होंगे, भले ही इन फ़ंक्शंस की संरचना एक जैसी हो, इन फ़ंक्शंस की सामग्री अलग हो सकती है। प्रत्येक क्लास के take_action() फ़ंक्शन में एक सामग्री को शामिल करना है जिसे रखा जाना है।
शुरू करने के लिए, लाइट X मार्क तक जाएं और डेस्क के सामने जाकर read() फ़ंक्शन का उपयोग करके नोट पढ़ें। नोट पर लिखी जानकारी का ध्यान करें जो आपको बताएगी कि प्रत्येक क्लास के take_action() फ़ंक्शन में क्या जोड़ा जाना चाहिए। उदाहरण के लिए, grape क्लास में place() फ़ंक्शन का उपयोग करके "white oak" जोड़ा जाना चाहिए जैसा कि नीचे दिखाया गया है:
# Class for making grape wine
class grape:
def __init__(self,item):
self.name = "grape"
self.item = item
# Adds materials
def add(self):
player.speak("%s are added to the %s mixture." % (self.item, self.name))
# Take actions
def take_action(self):
player.place(self.name)
# New code added
player.place("white oak")
एक बार जब सभी आवश्यक सामग्री क्लास फ़ंक्शंस में जोड़ दी जाती हैं, तो गोल्ड X मार्क तक जाएं और वाइन मिश्रणों में रखी जाने वाली सामग्री के अवयवों को पकड़ें। एक सूची स्थिरांक ingredients पकड़ने के लिए collect() फ़ंक्शन का उपयोग करें, और speak() फ़ंक्शन का उपयोग करके इसकी सामग्री की जांच करें।
मानचित्र के निचले हिस्से पर जाएं और चार (4) फल और बेरी के बैग्स एकत्र करें, ताकि आपके पास वाइन मिश्रण को पूरा करने के लिए आवश्यक घटक हो सकें।
अब जब सब कुछ एकत्र हो चुका है, तो वाइन मिश्रणों को पूरा करने के लिए सभी सामग्रियों को जोड़ने का समय आ गया है। क्लास के ऑब्जेक्ट्स बनाएं और उनके आर्गुमेंट को भरें, कुल चार (4) ऑब्जेक्ट्स होने चाहिए: grape_mix, cherry_mix, strawberry_mix और mango_mix।
प्रत्येक ऑब्जेक्ट पर, उस क्लास को सेट करें जो नाम के अनुरूप है और उस आइटम को जोड़ें जिसे आपने एकत्रित की गई सूची के अनुसार मिलाना है। grape के लिए "nothing" जोड़ा जाता है, cherry के लिए "pure water" जोड़ा जाता है, strawberry के लिए "sugar" और mango के लिए "spice" जोड़ा जाता है। उदाहरण के लिए, एक परिभाषित ऑब्जेक्ट इस प्रकार दिखना चाहिए: grape_mix = grape("nothing")
एक बार जब ऑब्जेक्ट्स बन जाएं, तो क्लास पॉलिमार्फिज्म का उपयोग करने का समय आ गया है, रेड कारपेट के नीचे डार्क X मार्क तक जाएं, बैरल के सामने खड़े हों और कोड एडिटर में सेट किए गए लूप का उपयोग करें। लूप आपको निचली पंक्ति में प्रत्येक वाइन बैरल पर नेविगेट करने और उनके मिश्रण को पूरा करने के लिए आवश्यक तत्व जोड़ने में सक्षम करेगा।
red कारपेट को strawberry_mix की आवश्यकता है, purple कारपेट को cherry_mix की, green कारपेट को grape_mix की और orange कारपेट को mango_mix की आवश्यकता है। मानचित्र में बाईं से दाईं की ओर प्रस्तुत किए गए क्रम में लूप में तत्व जोड़ें। उदाहरण के लिए:
for mix in (strawberry_mix, mango_mix, cherry_mix): mix.add() mix.take_action() player.turn_right() player.move_forward(2) player.turn_left()
उदाहरण के अनुसार, मिश्रण बाईं से दाईं तक स्थित कार्पेट के अनुरूप हैं, अर्थात: red, orange, purple क्रमशः strawberry_mix, mango_mix, cherry_mix हैं। एक बार जब अनुक्रम पूरा हो जाता है, तो हरे कारपेट पर स्थित डार्क X मार्क तक जाएं, बैरल के सामने खड़े हों, और कोड एडिटर में सेट किए गए दूसरे लूप के साथ भी यही करें। इस बार कार्पेट के रंग ( green, purple, orange ) के अनुसार दाईं से बाईं की ओर क्रम में बदलाव करें जैसा कि मानचित्र में दिखाया गया है ताकि स्तर को पूरा किया जा सके।