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

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


এই নিবন্ধে আমরা পাইথন ৩.x-এ ইনহেরিটেন্স এবং ক্লাস এক্সটেন্ড করা নিয়ে আলোচনা করব।

ইনহেরিটেন্স রিয়েল-ওয়ার্ল্ড রিলেশনশিপ ভালোভাবে রিপ্রেজেন্ট করে, রিয়ুজেবিলিটি দেয় এবং ট্রানজিটিভিটি সাপোর্ট করে। এটি দ্রুত ডেভেলপমেন্ট টাইম, সহজ মেইনটেন্যান্স এবং সহজ এক্সটেনশন অফার করে।

ইনহেরিটেন্স মূলত ৫ টাইপে বিভক্ত:

  • সিঙ্গেল (Single)
  • মাল্টিপল (Multiple)
  • হায়ারার্কিক্যাল (Hierarchical)
  • মাল্টি-লেভেল (Multi-level)
  • হাইব্রিড (Hybrid)

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

উপরের চিত্রে দেখা যাচ্ছে ইনহেরিটেন্স হলো সেই প্রক্রিয়া যেখানে আমরা প্যারেন্ট ক্লাসের অবজেক্ট তৈরি না করেই তার ফিচারগুলো অ্যাক্সেস করার চেষ্টা করি।

এখানে আমরা সিঙ্গেল এবং হায়ারার্কিক্যাল ইনহেরিটেন্সের বাস্তবায়ন শিখব।

সিঙ্গেল ইনহেরিটেন্স

উদাহরণ

# প্যারেন্ট ক্লাস
class Student():
    # প্যারেন্ট ক্লাসের কনস্ট্রাক্টর
    def __init__(self, name, enrollnumber):
        self.name = name
        self.enrollnumber = enrollnumber
    
    def display(self):
        print(self.name)
        print(self.enrollnumber)

# চাইল্ড ক্লাস
class College(Student):
    def __init__(self, name, enrollnumber, admnyear, branch):
        self.admnyear = admnyear
        self.branch = branch
        # প্যারেন্ট ক্লাসের __init__ ইনভোক
        Student.__init__(self, name, enrollnumber)

# বেস/ডেরাইভড ক্লাসের জন্য অবজেক্ট তৈরি
obj = College('Rohit', 42414802718, 2018, "CSE")
obj.display()

আউটপুট

Rohit
42414802718

মাল্টিপল ইনহেরিটেন্স

উদাহরণ

# প্যারেন্ট ক্লাস
class Student():
    # প্যারেন্ট ক্লাসের কনস্ট্রাক্টর
    def __init__(self, name, enrollnumber):
        self.name = name
        self.enrollnumber = enrollnumber
    
    def display(self):
        print(self.name)
        print(self.enrollnumber)

# চাইল্ড ক্লাস
class College(Student):
    def __init__(self, name, enrollnumber, admnyear, branch):
        self.admnyear = admnyear
        self.branch = branch
        # প্যারেন্ট ক্লাসের __init__ ইনভোক
        Student.__init__(self, name, enrollnumber)

# চাইল্ড ক্লাস
class University(Student):
    def __init__(self, name, enrollnumber, refno, branch):
        self.refno = refno
        self.branch = branch
        # প্যারেন্ট ক্লাসের __init__ ইনভোক
        Student.__init__(self, name, enrollnumber)

# বেস/ডেরাইভড ক্লাসের জন্য অবজেক্ট তৈরি
obj_1 = College('Rohit', 42414802718, 2018, "CSE")
obj_1.display()
obj_2 = University('Rohit', 42414802718, "st2018", "CSE")
obj_2.display()

আউটপুট

Rohit
42414802718
Rohit
42414802718

উপসংহার

এই নিবন্ধে আমরা পাইথনে ইনহেরিটেন্স সম্পর্কে বৃহত্তরভাবে সিঙ্গেল এবং হায়ারার্কিক্যাল ইনহেরিটেন্স শিখেছি।

  1. পাইথন ক্লাসে ইনহেরিটেন্স বনাম ইনস্ট্যানশিয়েশন পার্থক্য

  2. পাইথন ক্লাসের ফাংশনগুলো কীভাবে গণনা করবেন?

  3. পাইথনে ক্লাস এবং ইনহেরিটেন্সের পরিচিতি

  4. পাইথনে ক্লাস ইনহেরিটেন্স কীভাবে কাজ করে?