Object-Oriented Programming (OOP) কী?
OOP হলো একটি programming paradigm যেখানে কোডকে Object এর চারপাশে সংগঠিত করা হয়। প্রতিটি object হলো data (properties) + behavior (methods) এর সমষ্টি।
বাস্তব জীবনের analogy
একটি "গাড়ি" object দেখুন:
- Properties (তথ্য) — রং, মডেল, ইঞ্জিন, চাকা
- Methods (কাজ) — স্টার্ট হওয়া, চলা, থামা, হর্ন দেওয়া
বিভিন্ন গাড়ি একই "blueprint"-এর বিভিন্ন instance। এই blueprint-ই Class, আর প্রতিটি গাড়ি হলো Object।
Procedural vs OOP
// ❌ Procedural (পুরনো পদ্ধতি)
$studentName = "করিম";
$studentAge = 25;
$studentMarks = [80, 90, 75];
function getAverage($marks) {
return array_sum($marks) / count($marks);
}
echo getAverage($studentMarks);
// ✅ OOP (আধুনিক)
class Student {
public $name;
public $age;
public $marks = [];
public function getAverage() {
return array_sum($this->marks) / count($this->marks);
}
}
$s = new Student();
$s->name = "করিম";
$s->marks = [80, 90, 75];
echo $s->getAverage();
OOP-র ৪টি মূলনীতি (4 Pillars)
- Encapsulation (আবদ্ধকরণ) — ডেটা ও method একসাথে বাঁধা, ভিতরের বিস্তারিত লুকানো
- Inheritance (উত্তরাধিকার) — একটি class অন্য class থেকে বৈশিষ্ট্য পায়
- Polymorphism (বহুরূপতা) — একই নামের method বিভিন্ন ভাবে কাজ করে
- Abstraction (বিমূর্তকরণ) — জটিলতা লুকিয়ে শুধু প্রয়োজনীয়টা দেখানো
OOP কেন ব্যবহার করবেন?
- Reusability — কোড বারবার ব্যবহার করা যায়
- Maintainability — সহজে update/debug করা যায়
- Scalability — বড় প্রজেক্টে কার্যকর
- Real-world modeling — বাস্তব জগতের সাথে মিল
- Team collaboration — একাধিক ডেভেলপার একসাথে কাজ করতে পারে
OOP ব্যবহার করে যে ভাষাগুলো
PHP, Java, C++, C#, Python, JavaScript, Kotlin, Swift, Ruby — প্রায় সব আধুনিক ভাষাই OOP সাপোর্ট করে।