Python Inheritance Part - 01


Inheritance কি?
Inhertitance হচ্ছে এমন এক পদ্ধতি যার মাধ্যমে একটি ক্লাসের প্রোপার্টি , মেথড অন্য কোন ক্লাসকে দেয়া যায়। এক্ষেত্রে যার থেকে ইনহেরিট করা হয়েছে তাকে বলে প্যারেন্ট ক্লাস এবং যার কাছে ইনহেরিট করা হয়েছে তাকে বলে চাইল্ড ক্লাস।
Syntax of inheritance
class Parent:
pass
class Child(Parent):
pass
অর্থাৎ আমরা যে ক্লাসকে ইনহেরিট করতে চাই সেই ক্লাসের নাম চাইল্ড ক্লাসের নামের পাশে থাকা প্যারেন্থেসিস এর মধ্যে লিখে দিলেই হবে।
উদাহারনঃ
class Father:
car = 'BMW M5'
house = '5 floor'
cash = '10 core'
class Child(Father):
pass
child_1 = Child()
print(child_1.car)
#Output --> BMW M5
উপরে আমরা দুইটি ক্লাস তৈরি করেছি। একটি ক্লাস হচ্ছে Father ( প্যারেন্ট ক্লাস ) অন্যটি হচ্ছে Child ( চাইল্ড ক্লাস )। প্যারেন্ট ক্লাস অর্থাৎ Father class এর প্রোপার্টি হচ্ছে car , house , cash । এখন যদি আমরা Father class কে Child class এর মধ্যে ইনহেরিট করি তাহলে Child class প্যারেন্ট ক্লাস অর্থাৎ Father class এর সমস্ত কিছু অ্যাক্সেস করতে পারবে। এখানে child_1 variable এর মধ্যে Child class তৈরি করা হয়েছে। এখন child_1.car প্রিন্ট দিলে Output আসবে BMW M5 । একইভাবে child_1.cash , child_1.hose প্রিন্ট দিলে অউটপুট আসবে 10 core এবং 5 floor ।
Types of Inheritance
Single Inheritance
Multiple Inheritance
Multilevel Inheritance
Hierarchical Inheritance
Hybrid Inheritance
Single Inheritance
কোন চাইল্ড ক্লাসের প্যারেন্ট ক্লাস যদি একটি হয় তাহলে তাকে Single Inheritance বলে।
class A:
pass
class B(A):
pass
উপরের কোড এ A হচ্ছে প্যারেন্ট ক্লাস এবং B হচ্ছে চাইল্ড ক্লাস। B class এর শুধুমাত্র একটি প্যারেন্ট ক্লাস আছে তাই এটি Single Inheritance। এছাড়া উপরে যে Father and Child ক্লাস এর উদাহারন দেয়া হয়েছে সেখানে Child class টিও Single Inheritance এর উদাহারন। কারন Child class এ শুধুমাত্র একটি ক্লাস ইনহেরিট করা হয়েছে।
Multiple Inheritance
কোন চাইল্ড ক্লাসের প্যারেন্ট ক্লাস যদি একাধিক হয় তাহলে তাকে Multiple Inheritance বলে।
class Father:
car = 'BMW M5'
house = '5 floor'
cash = '10 core'
class Mother:
phone = 'Smasung Galaxy S25 Ultra'
class Child(Father , Mother):
pass
child_1 = Child()
print(child_1.car)
print(child_1.phone)
#Output --> BMW M5
#Output --> Smasung Galaxy S25 Ultra
উপরের Child class এর মধ্যে দুইটি প্যারেন্ট ক্লাস ( Father , Mother ) ইনহেরিট করা হয়েছে। সেইক্ষেত্রে চাইল্ড ক্লাস দুইটি প্যারেন্ট ক্লাস এর প্রোপার্টি সহ যাবতীয় সবকিছু পাবে। তাই একে Multiple Inheritance বলে হয়
Multilevel Inheritance
Multilevel inheritance এর কন্সেপ্ট হচ্ছে বাপেরও বাপ থাকে। অর্থাৎ এটি এমন ধরনের ইনহেরিট্যান্স পদ্ধতি যাতে চাইল্ড ক্লাসের যে প্যারেন্ট ক্লাস থাকে সেই প্যারেন্ট ক্লাসেরও প্যারেন্ট থাকে।
অর্থাৎ , আমাদের বাবা আমাদের দাদার থেকে তার জায়গা সম্পত্তি পায়। আবার আমরা আমাদের বাবার থেকে জায়গা - সম্পত্তি পাবো। এভাবেlti কিন্তু প্রোপার্টি গুলো হস্তান্তর হতে থাকবে। এটাই Mulevel Inheritance
Syntax of Multilevel Inheritance:
class A:
pass
class B(A):
pass
class C(B):
pass
class D(C):
pass
class GrandFather:
land = '10 katha'
house = '5 floor'
car = 'TOYOTA X-COROLLA'
class Father(GrandFather):
phone = 'I Phone XS MAX'
class Child(Father):
pass
child_1 = Child()
print(child_1.phone) #I Phone XS MAX
print(child_1.land) #10 katha
print(child_1.house) #5 floor
উপরের GrandFather ক্লাস এর প্রোপার্টি হচ্ছে land , house , car। এরপর Father class এ GrandFather class টি ইনহেরিট করা হয়েছে। যার কারনে Father class টি land , house , car প্রোপার্টি পেয়েছে সাথে তার নিজের প্রোপার্টি phone তো আছেই। একইভাবে Child class এ Father class ইনহেরিট করা হয়েছে যার ফলে Father class এর সব প্রোপার্টি পেয়েছে।
Hierarchical Inheritance
Hierarchical Inheritance এমন একধরনের ইনহেরিট্যান্স পদ্ধতি যেখানে একটি প্যারেন্ট ক্লাস এর একাধিক চাইল্ড ক্লাস থাকে।
class Parent:
pass
class Son(Parent):
pass
class Daughter(Parent):
pass
এখানে দেখা যাচ্ছে একটি প্যারেন্ট ক্লাস কে অন্য দুইটি চাইল্ড ক্লাসের মধ্যে ইনহেরিট করা হয়েছে। আর এধরনের ইনহেরিট্যান্সকে Hierarchical Inheritance বলে।
Hybrid Inheritance
একাধিক ইনহেরিট্যান্স টাইপ যখন কোন ক্লাসে ইউজ করা হয় তখন তাকে Hybrid Inheritance বলে।
class A:
pass
class B(A):
pass
class C(A,B):
pass
class D(C):
pass
উপরের কোডে দেখা যাচ্ছে যে B class এ A class inherit করা হয়েছে , C class এ A , B এবং D class এ C কে ইনহেরিট করা হয়েছে। এই ধরনের ইনহেরিট্যান্সকে Hybrid Inheritance বলে
Subscribe to my newsletter
Read articles from Ata Alahy Nishan directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
