उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर
उन्नत कक्षाएं
ऑब्जेक्ट विरासत
इस अध्याय में हम जानेंगे कि क्लासेस का अधिकतम लाभ कैसे उठाया जाए, विभिन्न तकनीकों और क्लास-विशिष्ट फ़ंक्शन्स को सीखते हुए, जो पाइथन में वस्तुओं की क्षमताओं का विस्तार कर सकते हैं।
इस स्तर पर हम क्लासेस की सबसे प्रमुख विस्तारित विशेषताओं में से एक, वस्तु उत्तराधिकार (object inheritance) के बारे में सीखेंगे। यह विशेषता हमें एक ऐसी क्लास बनाने की अनुमति देती है जो दूसरी क्लास से अपने फ़ंक्शन्स को विरासत में लेती है, जिससे हमें अधिक गतिशील वस्तुएँ बनाने में मदद मिलती है, साथ ही साथ मूल गुणों के एक सेट को भी बनाए रखती है।

उद्देश्य
अपनी कक्षाओं के साथ object inheritance का उपयोग करके वाइन बोतलों को भरें और स्टोर करें।
यह कमरा वाइन बोतलें भरने के लिए उपयोग किया जाता है, कुछ बोतलें अभी भी बोतल बंद और पैक की जानी बाकी हैं, इसे कक्षाओं का उपयोग करके बेहतरीन तरीके से हासिल किया जा सकता है। कक्षाएं आपको ऐसे objects बनाने की अनुमति देती हैं जिनमें विभिन्न गुण हो सकते हैं, इस मामले में विभिन्न प्रकार की वाइन बोतलें। कक्षाओं का उपयोग करके निर्मित objects अन्य कक्षाओं से गुण विरासत में प्राप्त कर सकते हैं, इन्हें child कक्षाएं कहा जाता है जबकि जो कक्षाएं अन्य कक्षाओं के निर्माण के लिए आधार के रूप में उपयोग की जाती हैं उन्हें parent कक्षाएं कहा जाता है।
# Parent Class
class wine_bottle:
color = ""
def set_bottle(self):
player.place("empty bottle")
# Child Class
class fill_bottle(wine_bottle):
def fill_bottle(self):
player.combine(["empty bottle", self.color + " wine"])
player.speak("The bottle's color is: %s" % self.color)
player.collect(self.color + "bottle")
उपयोग के लिए दो (2) कक्षाएं स्थापित की गई हैं, parent कक्षा का उपयोग बैरल के सामने बोतल रखने के लिए किया जाता है ताकि उसे भरा जा सके, जबकि child कक्षा का उपयोग वाइन बोतल को संयोजित और सेट करने के लिए किया जाता है। child कक्षा, parent कक्षा से गुण विरासत में प्राप्त करती है जिससे बिना ज्यादा प्रयास के बोतलों के विभिन्न प्रकार बनाए जा सकते हैं।
पहले मानचित्र के ऊपरी हिस्से में स्थित चार (4) खाली बोतलें एकत्र करें। एक बार जब आपके पास ये बोतलें हो जाएं, तब रंगीन कालीनों के ऊपर स्थित डार्क X निशानों की ओर जाएं और बैरल डिस्पेंसर का सामना करें। इस क्षेत्र में वाइन का निर्माण करने के लिए चार (4) रंगीन कालीन हैं, जो इस प्रकार हैं: "green" , "blue" , "purple" और "yellow" .
डार्क X निशानों पर, child कक्षा का उपयोग करके एक object बनाएँ, उदाहरण के लिए: green_bottle = fill_bottle(). उस बोतल के अनुसार object का नाम रखें जिसे आप बनाने जा रहे हैं, एक बार जब यह तैयार हो जाए तो object का रंग सेट करें और इसकी कार्यप्रणाली को सक्रिय करें।
# Green bottle setup green_bottle.color = "green" green_bottle.set_bottle() green_bottle.fill_bottle()
यह कार्य सभी चार (4) वाइन बोतलों के संबंधित X निशानों पर करें। एक बार जब सभी सेट हो जाएं और बोतलें एकत्रित हो जाएं, तब लाइट X निशान की ओर जाएं और open() फ़ंक्शन का उपयोग करके वाइन सेलर का दरवाज़ा खोलें, जैसे कि: player.open(). उसके बाद, गोल्ड X निशान की ओर जाएं ताकि बनी हुई बोतलों को वाइन रैक में स्टोर किया जा सके।
सभी बोतलें bottles नामक सूची में रखें और वाइन रैक का सामना करते हुए place() फ़ंक्शन का उपयोग करके सूची को स्टोर करें ताकि स्तर पूरा हो सके। आपने चार (4) बोतलें एकत्र की होंगी: "green bottle" , "blue bottle" , "purple bottle" और "yellow bottle" .