ইনহেরিটেন্স হলো এমন একটি পদ্ধতি যেখানে একটি ক্লাস (প্যারেন্ট ক্লাস) থেকে আরেকটি ক্লাস (চাইল্ড ক্লাস) তার বৈশিষ্ট্য এবং কার্যাবলী উত্তরাধিকারসূত্রে পায়। এটি বাস্তব জীবনের মতো, যেমন সন্তানরা তাদের পিতামাতার সম্পদ এবং বৈশিষ্ট্য উত্তরাধিকারসূত্রে পায়।

কোড উদাহরণ:

# পিতামাতা ক্লাস (Parent Class)
class SmartDevice:
    def recharge(self):
        print('Eating Electricity 😊')
        print('Electrons are Yummy!')

# Phone ক্লাসটি পিতামাতা ক্লাস থেকে সম্পদ উত্তরাধিকারসূত্রে পেয়েছে
class Phone(SmartDevice):
    def __init__(self, brand, price, network):
        self.brand = brand
        self.price = price
        self.network = network

# Watch ক্লাসটি পিতামাতা ক্লাস থেকে বৈশিষ্ট্য পেয়েছে
class Watch(SmartDevice):
    def __init__(self, brand, price, has_gps):
        self.brand = brand
        self.price = price
        self.has_gps = has_gps

# পিতামাতা থেকে সন্তানদের কার্যাবলী পাওয়া
my_phone = Phone('Apple', 800, 'TMobile')
print("Phone:")
my_phone.recharge()  # পিতামাতা ক্লাস থেকে পাওয়া

my_watch = Watch('Fitbit', 200, False)
print("\\nWatch:")
my_watch.recharge()  # পিতামাতা ক্লাস থেকে পাওয়া

উদাহরণ ব্যাখ্যা:

  1. SmartDevice ক্লাস হলো পিতামাতা (Parent Class), যেখানে recharge নামের মেথডটি আছে। এটি পরিবারের সম্পদ হিসেবে বিবেচনা করা যায়।
  2. Phone এবং Watch ক্লাস দুটি পিতামাতা ক্লাস থেকে ইনহেরিট করেছে। এটি ঠিক পরিবারের সন্তানদের সম্পদ এবং বৈশিষ্ট্য পাওয়া মতো।
  3. যখন my_phone.recharge() বা my_watch.recharge() কল করা হয়, এটি পিতামাতা ক্লাসের recharge মেথড ব্যবহার করে।

বাস্তব জীবনের উদাহরণ

SmartDevice হলো বাবা, যিনি পরিবারে একটি বৈশিষ্ট্য (recharge করার ক্ষমতা) দিয়ে গেছেন।

Phone এবং Watch হলো সন্তান, যারা তাদের বাবার কাছ থেকে সেই ক্ষমতা উত্তরাধিকারসূত্রে পেয়েছে।

মাল্টিপল ইনহেরিটেন্স (Multiple Inheritance) কী?

মাল্টিপল ইনহেরিটেন্স হলো এমন একটি প্রোগ্রামিং ধারনা যেখানে একটি ক্লাস একাধিক প্যারেন্ট ক্লাসের বৈশিষ্ট্য এবং কার্যাবলী উত্তরাধিকারসূত্রে পায়। মানে, একটি ক্লাস একাধিক প্যারেন্ট ক্লাস থেকে ইনহেরিট করতে পারে।

উদাহরণ হিসেবে ধরে নেওয়া যাক, একটি ছাত্র একটি শিক্ষক এবং একটি কোচ, এই দুইজন থেকে বিভিন্ন বৈশিষ্ট্য বা কার্যাবলী উত্তরাধিকারসূত্রে পায়।

উদাহরণ কোড:

# পিতা ১: AcademicClass
class AcademicClass:
    def study(self):
        print("Studying for exams.")

# পিতা ২: SportsClass
class SportsClass:
    def play(self):
        print("Playing sports.")

# চাইল্ড ক্লাস যিনি দুটি পিতা ক্লাস থেকে বৈশিষ্ট্য গ্রহণ করেছেন
class Student(AcademicClass, SportsClass):
    def __init__(self, name):
        self.name = name

# অবজেক্ট তৈরি
student = Student('John')
student.study()  # AcademicClass থেকে ইনহেরিট
student.play()   # SportsClass থেকে ইনহেরিট

ব্যাখ্যা:

  1. AcademicClass ক্লাসে study নামে একটি কার্যাবলী আছে।
  2. SportsClass ক্লাসে play নামে আরেকটি কার্যাবলী আছে।
  3. Student ক্লাস দুটি পিতা ক্লাস (AcademicClass এবং SportsClass) থেকে ইনহেরিট করেছে।