Class কী?
Class হলো একটি blueprint বা template — যা থেকে object তৈরি হয়। Class নিজে কিছু না, সে শুধু বর্ণনা করে object দেখতে কেমন হবে।
Object কী?
Object হলো class-এর একটি instance — বাস্তব একটি entity যা memory তে জায়গা দখল করে।
📋 Class = রেসিপি (কাগজে লেখা) 🍰 Object = আসল কেক (তৈরি করা) একটি রেসিপি থেকে অনেক কেক বানানো যায়। একটি Class থেকে অনেক Object তৈরি করা যায়।
PHP-তে Class ও Object
<?php
// Class definition
class Car {
// Properties (attributes)
public $brand;
public $model;
public $color;
public $speed = 0;
// Methods (functions)
public function start() {
echo "{$this->brand} গাড়ি স্টার্ট হলো\n";
}
public function accelerate($value) {
$this->speed += $value;
echo "গতি এখন: {$this->speed} km/h\n";
}
public function brake() {
$this->speed = 0;
echo "গাড়ি থেমে গেছে\n";
}
}
// Object তৈরি (instantiation)
$car1 = new Car();
$car1->brand = "Toyota";
$car1->model = "Corolla";
$car1->color = "সাদা";
$car2 = new Car();
$car2->brand = "Honda";
$car2->model = "Civic";
$car2->color = "কালো";
// Method কল
$car1->start(); // Toyota গাড়ি স্টার্ট হলো
$car1->accelerate(50); // গতি এখন: 50 km/h
$car1->brake();
$car2->start(); // Honda গাড়ি স্টার্ট হলো
?>
$this কীওয়ার্ড
$this হলো বর্তমান object-এর রেফারেন্স। Method এর ভিতর থেকে object-এর properties/methods access করতে ব্যবহৃত হয়।
class Person {
public $name;
public function setName($name) {
$this->name = $name; // এই object-এর name সেট হবে
}
public function greet() {
echo "হ্যালো, আমি {$this->name}";
}
}
$p = new Person();
$p->setName("করিম");
$p->greet(); // হ্যালো, আমি করিম
একাধিক Object — স্বতন্ত্র state
$p1 = new Person();
$p1->setName("করিম");
$p2 = new Person();
$p2->setName("রহিম");
echo $p1->name; // করিম (p1 এর নিজস্ব)
echo $p2->name; // রহিম (p2 এর নিজস্ব)
💡 প্রতিটি object-এর নিজস্ব মান থাকে, তবে method গুলো সবাই শেয়ার করে।