ক্লাস, অবজেক্ট, এবং ইনহেরিটেন্স
অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর তিনটি মৌলিক ধারণা হল ক্লাস, অবজেক্ট, এবং ইনহেরিটেন্স। এই ধারণাগুলি সফটওয়্যার ডিজাইন এবং উন্নয়নে খুবই গুরুত্বপূর্ণ।
১. ক্লাস (Class)
বর্ণনা: ক্লাস হল একটি ব্লুপ্রিন্ট বা টেমপ্লেট যা একটি নির্দিষ্ট ধরণের অবজেক্ট তৈরি করতে ব্যবহৃত হয়। এটি অবজেক্টের বৈশিষ্ট্য (অ্যাট্রিবিউট) এবং আচরণ (মেথড) সংজ্ঞায়িত করে।
উদাহরণ:
class Car:
def __init__(self, brand, model):
self.brand = brand # বৈশিষ্ট্য
self.model = model # বৈশিষ্ট্য
def start(self): # মেথড
print(f"{self.brand} {self.model} is starting.")
এখানে Car হল একটি ক্লাস, যা গাড়ির ব্র্যান্ড এবং মডেল নামক বৈশিষ্ট্য এবং শুরু করার জন্য একটি মেথড ধারণ করে।
২. অবজেক্ট (Object)
বর্ণনা: অবজেক্ট হল ক্লাসের একটি বাস্তব উদাহরণ বা ইনস্ট্যান্স। এটি ক্লাসের সংজ্ঞায়িত বৈশিষ্ট্য এবং আচরণগুলি ধারণ করে।
উদাহরণ:
my_car = Car("Toyota", "Camry") # অবজেক্ট তৈরি
my_car.start() # ফলাফল: "Toyota Camry is starting."
এখানে my_car হল Car ক্লাসের একটি অবজেক্ট, যা Toyota এবং Camry নামক বৈশিষ্ট্যগুলি ধারণ করে।
৩. ইনহেরিটেন্স (Inheritance)
বর্ণনা: ইনহেরিটেন্স হল একটি প্রক্রিয়া যার মাধ্যমে একটি ক্লাস (সাবক্লাস) অন্য ক্লাসের (মা-ক্লাস) বৈশিষ্ট্য এবং আচরণ উত্তরাধিকারসূত্রে গ্রহণ করে। এটি কোড পুনঃব্যবহার এবং প্রোগ্রামিংকে আরও সংগঠিত করে।
উদাহরণ:
class ElectricCar(Car): # ElectricCar ক্লাসটি Car ক্লাস থেকে ইনহেরিট করছে
def __init__(self, brand, model, battery_capacity):
super().__init__(brand, model) # মা-ক্লাসের __init__ মেথড কল করা
self.battery_capacity = battery_capacity # অতিরিক্ত বৈশিষ্ট্য
def charge(self): # নতুন মেথড
print(f"{self.brand} {self.model} is charging.")
এখানে ElectricCar হল Car ক্লাসের একটি সাবক্লাস, যা Car ক্লাসের বৈশিষ্ট্যগুলি (ব্র্যান্ড এবং মডেল) এবং নতুন বৈশিষ্ট্য (ব্যাটারি ক্যাপাসিটি) ধারণ করে।
উপসংহার
ক্লাস, অবজেক্ট, এবং ইনহেরিটেন্স হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের মৌলিক ধারণা, যা সফটওয়্যার ডিজাইনকে আরো কার্যকরী এবং রক্ষণাবেক্ষণযোগ্য করে তোলে। ক্লাস এবং অবজেক্টগুলি তথ্য এবং আচরণের কাঠামো প্রদান করে, যখন ইনহেরিটেন্স কোডের পুনঃব্যবহার এবং সংরক্ষণশীলতার মাধ্যমে উন্নয়ন প্রক্রিয়াকে সহজ করে।
Read more