এই নিবন্ধে, আমরা পাইথন 3.x-এ উত্তরাধিকার এবং ক্লাস এক্সটেনডিং শিখব। অথবা আগে।
উত্তরাধিকার বাস্তব-বিশ্বের সম্পর্কগুলিকে ভালভাবে উপস্থাপন করে, পুনরায় ব্যবহারযোগ্যতা প্রদান করে এবং ট্রানজিটিভিটি সমর্থন করে। এটি দ্রুত বিকাশের সময়, সহজ রক্ষণাবেক্ষণ এবং প্রসারিত করা সহজ অফার করে৷
উত্তরাধিকারকে বিস্তৃতভাবে 5 প্রকারে শ্রেণীবদ্ধ করা হয় -
- একক
- একাধিক
- অনুক্রমিক
- মাল্টি-লেভেল
- হাইব্রিড

উপরের চিত্রে দেখানো হয়েছে যে উত্তরাধিকার হল এমন একটি প্রক্রিয়া যেখানে আমরা প্রকৃতপক্ষে অভিভাবক শ্রেণীর অবজেক্ট না বানিয়ে অন্যান্য শ্রেণীর বৈশিষ্ট্যগুলি অ্যাক্সেস করার চেষ্টা করি৷
এখানে আমরা একক এবং শ্রেণিবদ্ধ উত্তরাধিকারের বাস্তবায়ন সম্পর্কে শিখব।
একক উত্তরাধিকার
উদাহরণ
# parent class
class Student():
# constructor of parent class
def __init__(self, name, enrollnumber):
self.name = name
self.enrollnumber = enrollnumber
def display(self):
print(self.name)
print(self.enrollnumber)
# child class
class College( Student ):
def __init__(self, name, enrollnumber, admnyear, branch):
self.admnyear = admnyear
self.branch = branch
# invoking the __init__ of the parent class
Student.__init__(self, name, enrollnumber)
# creation of an object for base/derived class
obj = College('Rohit',42414802718,2018,"CSE")
obj.display() আউটপুট
Rohit 42414802718
একাধিক উত্তরাধিকার
উদাহরণ
# parent class
class Student():
# constructor of parent class
def __init__(self, name, enrollnumber):
self.name = name
self.enrollnumber = enrollnumber
def display(self):
print(self.name)
print(self.enrollnumber)
# child class
class College( Student ):
def __init__(self, name, enrollnumber, admnyear, branch):
self.admnyear = admnyear
self.branch = branch
# invoking the __init__ of the parent class
Student.__init__(self, name, enrollnumber)
# child class
class University( Student ):
def __init__(self, name, enrollnumber, refno, branch):
self.refno = refno
self.branch = branch
# invoking the __init__ of the parent class
Student.__init__(self, name, enrollnumber)
# creation of an object for base/derived class
obj_1 = College('Rohit',42414802718,2018,"CSE")
obj_1.display()
obj_2 = University ('Rohit',42414802718,"st2018","CSE")
obj_2.display() আউটপুট
Rohit 42414802718 Rohit 42414802718
উপসংহার
এই নিবন্ধে, আমরা পাইথনে উত্তরাধিকার সম্পর্কে শিখেছি বিস্তৃতভাবে একক এবং শ্রেণিবদ্ধ উত্তরাধিকার।