এই নিবন্ধে আমরা পাইথন ৩.x-এ ইনহেরিটেন্স এবং ক্লাস এক্সটেন্ড করা নিয়ে আলোচনা করব।
ইনহেরিটেন্স রিয়েল-ওয়ার্ল্ড রিলেশনশিপ ভালোভাবে রিপ্রেজেন্ট করে, রিয়ুজেবিলিটি দেয় এবং ট্রানজিটিভিটি সাপোর্ট করে। এটি দ্রুত ডেভেলপমেন্ট টাইম, সহজ মেইনটেন্যান্স এবং সহজ এক্সটেনশন অফার করে।
ইনহেরিটেন্স মূলত ৫ টাইপে বিভক্ত:
- সিঙ্গেল (Single)
- মাল্টিপল (Multiple)
- হায়ারার্কিক্যাল (Hierarchical)
- মাল্টি-লেভেল (Multi-level)
- হাইব্রিড (Hybrid)

উপরের চিত্রে দেখা যাচ্ছে ইনহেরিটেন্স হলো সেই প্রক্রিয়া যেখানে আমরা প্যারেন্ট ক্লাসের অবজেক্ট তৈরি না করেই তার ফিচারগুলো অ্যাক্সেস করার চেষ্টা করি।
এখানে আমরা সিঙ্গেল এবং হায়ারার্কিক্যাল ইনহেরিটেন্সের বাস্তবায়ন শিখব।
সিঙ্গেল ইনহেরিটেন্স
উদাহরণ
# প্যারেন্ট ক্লাস
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
উপসংহার
এই নিবন্ধে আমরা পাইথনে ইনহেরিটেন্স সম্পর্কে বৃহত্তরভাবে সিঙ্গেল এবং হায়ারার্কিক্যাল ইনহেরিটেন্স শিখেছি।