কম্পিউটার টিউটোরিয়াল

পাইথন পলিমরফিজম (Polymorphism) সমর্থন করে কি?

হ্যাঁ, পাইথন পলিমরফিজম সমর্থন করে।

পলিমরফিজম শব্দের অর্থ হল অনেক রূপ (having many forms)।

পলিমরফিজম পাইথনে ক্লাস ডেফিনিশনের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা তখন কাজে লাগে যখন একই নামের মেথড একাধিক ক্লাস বা সাবক্লাসে থাকে।

পলিমরফিজম ইনহেরিটেন্সের মাধ্যমে বাস্তবায়ন করা যায়, যেখানে সাবক্লাস বেস ক্লাসের মেথড ব্যবহার করে বা সেগুলো ওভাররাইড করে।

পলিমরফিজম দুই ধরনের:

  • ওভারলোডিং (Overloading)
  • ওভাররাইডিং (Overriding)

ওভারলোডিং: একই ক্লাসে একই নামের দুটি বা অধিক মেথড থাকলে কিন্তু প্যারামিটার ভিন্ন হলে ওভারলোডিং হয়।

ওভাররাইডিং: একই নাম ও একই প্যারামিটার (মেথড সিগনেচার) সহ দুটি মেথড থাকলে ওভাররাইডিং হয়। একটি মেথড প্যারেন্ট ক্লাসে এবং অন্যটি চাইল্ড ক্লাসে থাকে।

উদাহরণ

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()

আউটপুট

The fish's skeleton is made of cartilage. 
The clownfish's skeleton is made of bone.
  1. পাইথন ক্লাসে self কিওয়ার্ড

  2. পাইথনে ক্লাস ইনহেরিটেন্স (Class Inheritance)

  3. পাইথনে classmethod() ডেকোরেটর

  4. পাইথনে ইনহেরিটেন্স (Inheritance)