ক্লাস এবং অবজেক্ট ইন পিএইচপি
ভূমিকা
আজকে আমরা শিখব ক্লাস এবং অবজেক্ট সম্পর্কে। পিএইচপি-তে ক্লাস এবং অবজেক্ট খুবই গুরুত্বপূর্ণ। প্রথমে আমরা দেখব ক্লাস কী। ক্লাস হলো একটা টেমপ্লেট বা ব্লুপ্রিন্ট। এটি দিয়ে আমরা অবজেক্ট তৈরি করি। অবজেক্ট হলো ক্লাসের ইনস্ট্যান্স।
ক্লাস ডিফাইন করা
ক্লাস ডিফাইন করার জন্য আমরা class
কীওয়ার্ড ব্যবহার করি। উদাহরণস্বরূপ:
class Student {
// এখানে প্রপার্টি এবং মেথড থাকবে
}
এখানে Student
হলো ক্লাসের নাম। ক্লাসের ভিতরে আমরা প্রপার্টি এবং মেথড ডিফাইন করি। প্রপার্টি হলো ভেরিয়েবল, যেমন:
class Student {
public $name;
public $age;
}
এখানে $name
এবং $age
হলো প্রপার্টি। এগুলো public
হিসেবে ডিফাইন করা হয়েছে।
মেথড ডিফাইন করা
মেথড হলো ফাংশন যা ক্লাসের ভিতরে থাকে। উদাহরণ:
class Student {
public $name;
public $age;
public function display() {
echo "Name: " . $this->name . "<br>";
echo "Age: " . $this->age;
}
}
এখানে display()
হলো একটা মেথড। $this
কীওয়ার্ড দিয়ে আমরা ক্লাসের প্রপার্টি অ্যাক্সেস করি।
অবজেক্ট তৈরি করা
ক্লাস থেকে অবজেক্ট তৈরি করার জন্য আমরা new
কীওয়ার্ড ব্যবহার করি। উদাহরণ:
$student1 = new Student();
এখানে $student1
হলো একটা অবজেক্ট। এখন আমরা এই অবজেক্টের প্রপার্টি এবং মেথড অ্যাক্সেস করতে পারি।
প্রপার্টি এবং মেথড অ্যাক্সেস করা
অবজেক্টের প্রপার্টি অ্যাক্সেস করার জন্য:
$student1->name = "John";
$student1->age = 20;
মেথড কল করার জন্য:
$student1->display();
এটি আউটপুট দেবে: Name: John Age: 20
কনস্ট্রাক্টর
কনস্ট্রাক্টর হলো একটা স্পেশাল মেথড যা অবজেক্ট তৈরি হওয়ার সময় অটোমেটিক্যালি কল হয়। এটি __construct
নামে ডিফাইন করা হয়। উদাহরণ:
class Student {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function display() {
echo "Name: " . $this->name . "<br>";
echo "Age: " . $this->age;
}
}
এখন অবজেক্ট তৈরি করার সময়:
$student1 = new Student("John", 20);
$student1->display();
এটি একই আউটপুট দেবে।
উদাহরণ এবং ব্যাখ্যা
আমরা একটা সম্পূর্ণ উদাহরণ দেখি। ধরুন আমরা একটা ক্যালকুলেটর ক্লাস তৈরি করব।
class Calculator {
public function add($a, $b) {
return $a + $b;
}
public function subtract($a, $b) {
return $a - $b;
}
}
$calc = new Calculator();
echo $calc->add(10, 5); // আউটপুট: 15
echo $calc->subtract(10, 5); // আউটপুট: 5
এখানে Calculator
ক্লাসে দুটো মেথড আছে। অবজেক্ট তৈরি করে আমরা এগুলো ব্যবহার করি।
বিভিন্ন ধরনের প্রপার্টি
প্রপার্টি হতে পারে public
, private
, বা protected
। public
মানে যেকোনো জায়গা থেকে অ্যাক্সেস করা যায়। private
মানে শুধু ক্লাসের ভিতর থেকে। protected
মানে ক্লাস এবং এর চাইল্ড ক্লাস থেকে।
উদাহরণ:
class Student {
public $name;
private $roll;
public function setRoll($roll) {
$this->roll = $roll;
}
public function getRoll() {
return $this->roll;
}
}
এখানে $roll
প্রাইভেট, তাই বাইরে থেকে অ্যাক্সেস করা যাবে না।
ইনহেরিটেন্স
ইনহেরিটেন্স মানে একটা ক্লাস অন্য ক্লাস থেকে প্রপার্টি এবং মেথড ইনহেরিট করা। extends
কীওয়ার্ড ব্যবহার করে।
class Person {
public $name;
}
class Student extends Person {
public $roll;
}
এখন Student
ক্লাসে Person
এর $name
প্রপার্টি আছে।
সমাপ্তি
আজকে আমরা ক্লাস এবং অবজেক্টের বেসিক সম্পর্কে শিখলাম। এটি পিএইচপি-তে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের ভিত্তি। পরবর্তীতে আরও অ্যাডভান্সড টপিক দেখব। ধন্যবাদ।