ইনহেরিটেন্স (Inheritance) হলো অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের একটি মূল ধারণা, যা একটি ক্লাসকে (সাব ক্লাস) অন্য একটি ক্লাসের (বেস ক্লাস) বৈশিষ্ট্য এবং আচরণ গ্রহণ করার অনুমতি দেয়। এটি কোড পুনঃব্যবহার এবং জটিলতা হ্রাস করতে সাহায্য করে। ইনহেরিটেন্সের মাধ্যমে একটি ক্লাসের সব ফাংশনালিটি অন্য ক্লাসে পাওয়া যায়।
ইনহেরিটেন্সের প্রকারভেদ
সিঙ্গেল ইনহেরিটেন্স: একটি সাব ক্লাস একটি একক বেস ক্লাস থেকে বৈশিষ্ট্য গ্রহণ করে।
class Animal:
def speak(self):
return "Animal speaks"
class Dog(Animal): # Dog ক্লাস Animal ক্লাস থেকে ইনহেরিট করছে
def bark(self):
return "Dog barks"
my_dog = Dog()
print(my_dog.speak()) # আউটপুট: Animal speaks
print(my_dog.bark()) # আউটপুট: Dog barks
মাল্টিপল ইনহেরিটেন্স: একটি সাব ক্লাস একাধিক বেস ক্লাস থেকে বৈশিষ্ট্য গ্রহণ করে।
class Parent1:
def method1(self):
return "Method from Parent1"
class Parent2:
def method2(self):
return "Method from Parent2"
class Child(Parent1, Parent2): # Child ক্লাস Parent1 এবং Parent2 থেকে ইনহেরিট করছে
def method3(self):
return "Method from Child"
my_child = Child()
print(my_child.method1()) # আউটপুট: Method from Parent1
print(my_child.method2()) # আউটপুট: Method from Parent2
print(my_child.method3()) # আউটপুট: Method from Child
মাল্টি-লেভেল ইনহেরিটেন্স: একটি সাব ক্লাস অন্য একটি সাব ক্লাস থেকে ইনহেরিট করে।
class Animal:
def speak(self):
return "Animal speaks"
class Dog(Animal): # Dog ক্লাস Animal ক্লাস থেকে ইনহেরিট করছে
def bark(self):
return "Dog barks"
class Puppy(Dog): # Puppy ক্লাস Dog ক্লাস থেকে ইনহেরিট করছে
def weep(self):
return "Puppy weeps"
my_puppy = Puppy()
print(my_puppy.speak()) # আউটপুট: Animal speaks
print(my_puppy.bark()) # আউটপুট: Dog barks
print(my_puppy.weep()) # আউটপুট: Puppy weeps
হায়ারার্কিক্যাল ইনহেরিটেন্স: একাধিক সাব ক্লাস একটি একক বেস ক্লাস থেকে ইনহেরিট করে।
class Animal:
def speak(self):
return "Animal speaks"
class Dog(Animal): # Dog ক্লাস Animal ক্লাস থেকে ইনহেরিট করছে
def bark(self):
return "Dog barks"
class Cat(Animal): # Cat ক্লাস Animal ক্লাস থেকে ইনহেরিট করছে
def meow(self):
return "Cat meows"
my_cat = Cat()
print(my_cat.speak()) # আউটপুট: Animal speaks
print(my_cat.meow()) # আউটপুট: Cat meows
ইনহেরিটেন্সের সুবিধা
কোড পুনঃব্যবহার: ইনহেরিটেন্সের মাধ্যমে পূর্ববর্তী ক্লাসের কোড পুনরায় ব্যবহার করা যায়, যা কোড লেখার সময় সাশ্রয় করে।
গঠনগত সংগঠন: এটি কোডকে আরও সংগঠিত এবং সহজে মেইনটেইনেবল করে তোলে।
পলিমরফিজম: ইনহেরিটেন্সের মাধ্যমে পলিমরফিজম (একাধিক ফর্ম) বাস্তবায়ন করা যায়, যেখানে একটি ফাংশন বিভিন্ন উপায়ে আচরণ করতে পারে।
সারসংক্ষেপ
ইনহেরিটেন্স হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের একটি গুরুত্বপূর্ণ ধারণা, যা কোড পুনঃব্যবহার এবং সংস্থাপনে সাহায্য করে। এটি সাব ক্লাসকে বেস ক্লাসের বৈশিষ্ট্য এবং আচরণ গ্রহণের অনুমতি দেয় এবং কোডের সংগঠন এবং মেইনটেইনেবিলিটি বাড়ায়।
Read more