Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

क्या पायथन बहुरूपता का समर्थन करता है?


हां ,पायथन बहुरूपता का समर्थन करता है।

बहुरूपता शब्द का अर्थ है कई रूपों का होना।

बहुरूपता पायथन में वर्ग परिभाषा की एक महत्वपूर्ण विशेषता है जिसका उपयोग तब किया जाता है जब आपके पास सामान्य रूप से कक्षाओं या उप वर्गों में विधियों का नाम होता है।

बहुरूपता वंशानुक्रम के माध्यम से किया जा सकता है, उपवर्गों के आधार वर्ग विधियों का उपयोग करने या उन्हें ओवरराइड करने के साथ।

बहुरूपता दो प्रकार की होती है

  • ओवरलोडिंग
  • ओवरराइडिंग

ओवरलोडिंग :ओवरलोडिंग तब होती है जब एक वर्ग में दो या दो से अधिक विधियों में एक ही विधि का नाम होता है लेकिन विभिन्न पैरामीटर होते हैं।

ओवरराइडिंग :ओवरराइडिंग का अर्थ है एक ही विधि नाम और पैरामीटर (यानी, विधि हस्ताक्षर) के साथ दो विधियां होना। एक तरीका पैरेंट क्लास में है और दूसरा चाइल्ड क्लास में है।

उदाहरण

class Fish():
   def swim(self):
      print("The Fish is swimming.")

   def swim_backwards(self):
      print("The Fish can swim backwards, but can sink backwards.")

   def skeleton(self):
      print("The fish's skeleton is made of cartilage.")

class Clownfish():
   def swim(self):
      print("The clownfish is swimming.")

   def swim_backwards(self):
      print("The clownfish can swim backwards.")

   def skeleton(self):
      print("The clownfish's skeleton is made of bone.")

a = Fish()
a.skeleton()
b = Clownfish()
b.skeleton()

जब हम python polymorphism.py कमांड के साथ प्रोग्राम चलाते हैं, तो हमें अपेक्षित आउटपुट मिलेगा -

आउटपुट

The fish's skeleton is made of cartilage.
The clownfish's skeleton is made of bone.

  1. पायथन में क्लास इनहेरिटेंस

    स्क्रैच से शुरू करने के बजाय, आप नए वर्ग के नाम के बाद पैरेंट क्लास को कोष्ठक में सूचीबद्ध करके इसे पहले से मौजूद क्लास से प्राप्त करके एक क्लास बना सकते हैं। चाइल्ड क्लास को अपने पैरेंट क्लास की विशेषताएँ विरासत में मिलती हैं, और आप उन एट्रिब्यूट्स का उपयोग इस तरह कर सकते हैं जैसे कि उन्हें चाइल्ड

  1. पायथन में क्लासमेथोड ()

    एक वर्ग विधि वर्ग को अपने पहले तर्क के रूप में प्राप्त करती है। इस तरह हम क्लास से इंस्टेंस बनाए बिना क्लास के अंदर मेथड को कॉल कर सकते हैं। हम कक्षा में निहित विधि की घोषणा से पहले डेकोरेटर @classmethod का उपयोग करते हैं और फिर हम सीधे विधि तक पहुंच सकते हैं। क्लासमेथिड्स की मुख्य विशेषताएं नीचे दी

  1. पायथन में विरासत

    इस लेख में, हम पायथन 3.x में इनहेरिटेंस और एक्सटेंडिंग क्लासेस सीखेंगे। या पहले। वंशानुक्रम वास्तविक दुनिया के संबंधों का अच्छी तरह से प्रतिनिधित्व करता है, पुन:प्रयोज्य प्रदान करता है और पारगमन का समर्थन करता है। यह तेजी से विकास समय, आसान रखरखाव और विस्तार में आसान प्रदान करता है। वंशानुक्रम को