उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर
उन्नत कक्षाएँ
सुपर फंक्शन
उद्देश्य
विभिन्न मांस एकत्र करें, फिर उन्हें पका कर अलग-अलग तरीकों से परोसें, super functions का उपयोग करके ऑब्जेक्ट बनाकर।
फ्रिज में विभिन्न प्रकार के मांस होते हैं जिन्हें आप पिछले स्तर में तेल के साथ तैयार किए गए प्याज के साथ पका सकते हैं और परोस सकते हैं। मांस को विभिन्न तरीकों से और विभिन्न तापमान/दुर्लभता तक पकाया जा सकता है, इसे कक्षाओं से ऑब्जेक्ट बनाकर हासिल किया जा सकता है, जैसे कि पिछले स्तरों में किया गया था, लेकिन इसे Super Functions का उपयोग करके सुधारा जा सकता है।
super() फ़ंक्शन का उपयोग मेथड ओवरराइडिंग के समान किया जाता है, अंतर यह है कि इस फ़ंक्शन का उपयोग करके आप अपने कोड के साथ-साथ child क्लास में, पूरी तरह से फ़ंक्शन को ओवरराइड करने के बजाय parent क्लास का फ़ंक्शन चला सकते हैं।
# Parent Class
class cooked_meat:
type = ""
def cook_meat(self):
player.speak("Cooking the %s meat with oil
and onions." % self.type)
player.place("meat")
player.collect("cooked %s" % self.type)
# Child Class
class ready_meat(cooked_meat):
rarity = ""
def cook_meat(self):
super().cook_meat()
player.speak("The meat is cooked %s" % self.rarity)
Child class फ़ंक्शन cook_meat() के अंदर, super() फ़ंक्शन का उपयोग किया जाता है। चूंकि cook_meat() भी parent क्लास में उपयोग किया जाने वाला फ़ंक्शन है, कस्टम फ़ंक्शन सामान्यतः method overriding के कारण विरासत में मिले कोड को ओवरराइड कर देगा, लेकिन super() फ़ंक्शन का उपयोग करके आप parent क्लास में कोड के साथ-साथ child क्लास में लिखा गया नया कोड भी निष्पादित कर सकते हैं।
पहले फ्रिज तक जाएँ और उन चार (4) टुकड़ों के मांस को एकत्र करें, जिन्हें आप पकाने के लिए उपयोग करेंगे। चार (4) मांसों में से प्रत्येक एक अलग प्रकार का है, जो हैं: "pork" , "beef" , "lamb" और "buffalo"।
एकत्र करने के बाद हल्के X मार्क तक जाएँ और उन्हें पकाने के लिए प्रत्येक मांस के ऑब्जेक्ट बनाएं, और प्रत्येक मांस ऑब्जेक्ट के लिए, उस मांस का प्रकार और दुर्लभता सेट करें जिस पर आप उन्हें पकाना चाहते हैं, उदाहरण के लिए:
pork_meat = ready_meat() pork_meat.type = "pork" pork_meat.rarity = "medium" pork_meat.cook_meat()
दुर्लभता वह पकाने का तापमान है जिस पर आप मांस को पकाना चाहते हैं, मांस को निम्नलिखित दुर्लभताओं तक पकाएं: "pork" को पकाया जाए "medium" पर, "beef" को पकाया जाए "well done" पर, "buffalo" को पकाया जाए "medium rare" पर, और "lamb" को पकाया जाए "rare" पर। X मार्क पर ऊपर दिए गए उदाहरण के अनुसार मांस का प्रकार और दुर्लभता सेट करने के बाद child class फ़ंक्शन cook_meat() का उपयोग करें।
एक बार मांस पक जाने के बाद, पीले कालीन पर डार्क X मार्क तक जाएँ और पैंट्री से "salt" और "pepper" दोनों को लेने के लिए collect() फ़ंक्शन का उपयोग करें। ingredients नाम की एक सूची बनाएं और इसमें चुनी गई दो सामग्री डालें, जैसे: ingredients = ["salt","pepper"] .
अतिरिक्त सामग्रियों के साथ अब आप मांस को मेज पर प्लेट के साथ परोस सकते हैं। पकाए गए प्रत्येक मांस के लिए निम्नलिखित नामों सहित एक सूची बनाएं: served_pork , served_beef , served_lamb और served_buffalo। इन सूचियों में, आपने जो मांस पकाया है उसके साथ-साथ सामग्री की सूची को एक nested list बनाकर जोड़ें, उदाहरण के लिए:
served_pork = [] served_pork.append("cooked pork") served_pork.append(ingredients)
एक बार सूचियाँ सेट हो जाने के बाद, गोल्ड X मार्क पर जाएँ और काउंटर पर मौजूद प्लेटों पर मांस परोसने के लिए place() फ़ंक्शन का उपयोग करें। ऊपर के गोल्ड X मार्क पर, मेज की ओर मुख करके, served_pork और served_buffalo को place() करें। नीचे के गोल्ड X मार्क पर, मेज की ओर मुख करके, served_lamb और served_beef को place() करें। उदाहरण के लिए: player.place(served_pork), एक बार जब सभी मांस परोस दिए जाएँ, तो आपने स्तर पूरा कर लिया होगा।