18. Inheritance
📘 কনসেপ্ট (থিওরি)
ইনহেরিটেন্স একটি ক্লাসকে অন্য ক্লাস থেকে অ্যাট্রিবিউট ও মেথড উত্তরাধিকার সূত্রে পেতে দেয়। যে ক্লাস উত্তরাধিকার পায় তাকে **চাইল্ড ক্লাস** এবং যেটি থেকে পায় তাকে **প্যারেন্ট ক্লাস** বলে।
class Animal: # প্যারেন্ট ক্লাস
def __init__(self, name):
self.name = name
def speak(self):
print("...")
class Dog(Animal): # চাইল্ড ক্লাস
def speak(self): # প্যারেন্ট মেথড ওভাররাইড
print(f"{self.name} says Woof!")
class Cat(Animal):
def speak(self):
print(f"{self.name} says Meow!")
প্যারেন্ট ক্লাসের মেথড কল করতে
super() ব্যবহার করুন:
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name) # প্যারেন্টের __init__ কল
self.breed = breed
💡 উদাহরণ
ইনহেরিটেন্সের উদাহরণ:
class Vehicle:
def __init__(self, brand, speed):
self.brand = brand
self.speed = speed
def info(self):
print(f"{self.brand} - {self.speed} km/h")
class Car(Vehicle):
def __init__(self, brand, speed, doors):
super().__init__(brand, speed)
self.doors = doors
def info(self):
super().info()
print(f"Doors: {self.doors}")
my_car = Car("Toyota", 180, 4)
my_car.info()
🎯 আপনার কাজ (প্র্যাকটিস)
color অ্যাট্রিবিউট দিয়ে Shape ক্লাস তৈরি করুন। Circle ক্লাস তৈরি করুন যা Shape থেকে ইনহেরিট করে এবং radius যোগ করে। area() মেথড যোগ করুন। ৫ ব্যাসার্ধের লাল বৃত্ত তৈরি করে ক্ষেত্রফল প্রিন্ট করুন।main.py
Loading...
OUTPUT
Run your code to see the output here...