এই নিবন্ধে, আমরা পাইথন 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
উপসংহার
এই নিবন্ধে, আমরা পাইথনে উত্তরাধিকার সম্পর্কে শিখেছি বিস্তৃতভাবে একক এবং শ্রেণিবদ্ধ উত্তরাধিকার।