ওবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) কী?

ধরো, তোমার কাছে একটি খেলনা গাড়ি আছে। খেলনা গাড়ির রঙ, আকার, এবং ব্র্যান্ড হলো তার গুণাবলী (যাকে প্রোগ্রামিংয়ে বলা হয় Attribute)। আর খেলনা গাড়িটি চলতে পারে, থামতে পারে, বা হর্ন বাজাতে পারে—এগুলো হলো তার কাজ (যাকে বলা হয় Method)।

ঠিক এইভাবেই, OOP প্রোগ্রামিংয়ের একটি ধারণা যেখানে বাস্তব জগতের জিনিসগুলোকে ওবজেক্ট আকারে মডেল করা হয়।

OOP-এর তিনটি স্তম্ভ (3 Pillars of OOP)

OOP-এর মূল ধারণাগুলোকে বলা হয় এর তিনটি স্তম্ভ। এগুলো হলো:

  1. Encapsulation (আবরণ)

এটি ডেটা (Attribute) এবং মেথড (Method)-কে একত্রে একটি ওবজেক্টের মধ্যে প্যাকেট করার পদ্ধতি।

উদাহরণ: ধরো, একটি মোবাইল ফোন। এর ভেতরের সার্কিট (ডেটা) এবং এর কাজ (কল করা, মেসেজ পাঠানো) সবই একটি মোবাইল ডিভাইসের ভেতরে থাকে।

পাইথনে উদাহরণ:

class Mobile:  
    def __init__(self, brand, model):  
        self.brand = brand  
        self.model = model  

    def call(self):  
        print(f"{self.brand} {self.model} is calling...")  

phone = Mobile("Samsung", "Galaxy S22")  
phone.call()

.

  1. Inheritance (উত্তরাধিকার)

এটি একটি ক্লাসের বৈশিষ্ট্য এবং ফাংশন অন্য ক্লাসে ব্যবহার করার পদ্ধতি।

উদাহরণ: যেমন বাবা-মায়ের বৈশিষ্ট্য সন্তানের মধ্যে পাওয়া যায়।

পাইথনে উদাহরণ:

class Parent:  
    def greet(self):  
        print("Hello from Parent!")  

class Child(Parent):  
    def play(self):  
        print("Child is playing.")  

child = Child()  
child.greet()  
child.play()
  1. Polymorphism (বহুরূপিতা)

একটি মেথড বা ফাংশন একই নামে বিভিন্নভাবে কাজ করতে পারে।

উদাহরণ: একটি বাচ্চা তার বন্ধুদের সাথে খেললে একভাবে আচরণ করে, আর মায়ের সাথে খেললে আরেকভাবে আচরণ করে।