Header Ads

Header ADS

PHP OOP Concept

 PHP OOP-এর সাধারণ কনসেপ্ট ও ফিচারগুলোর মধ্যে গুরুত্বপূর্ণ কয়েকটি নিচে দেওয়া হলো:

1. Class & Object

  • Class: এটি একটি ব্লুপ্রিন্ট বা টেমপ্লেট যা অবজেক্ট তৈরি করতে ব্যবহৃত হয়।

  • Object: ক্লাসের একটি ইনস্ট্যান্স যা মেমোরিতে সংরক্ষিত হয়।


class Car { public $brand; public function setBrand($brand) { $this->brand = $brand; } public function getBrand() { return $this->brand; } } $car1 = new Car(); $car1->setBrand("Toyota"); echo $car1->getBrand(); // Output: Toyota

2. Properties & Methods

  • Properties: ক্লাসের ভেরিয়েবল, যা অবজেক্টের ডাটা সংরক্ষণ করে।

  • Methods: ফাংশন যা অবজেক্টের ওপর বিভিন্ন অপারেশন পরিচালনা করে।

3. Constructor & Destructor

  • Constructor: অবজেক্ট তৈরি হলে স্বয়ংক্রিয়ভাবে কল হয়।

  • Destructor: অবজেক্ট ডেস্ট্রয় হলে স্বয়ংক্রিয়ভাবে কল হয়।

class Person { public $name; public function __construct($name) { $this->name = $name; echo "Object created for $this->name\n"; } public function __destruct() { echo "Object destroyed for $this->name\n"; } } $p = new Person("John");

4. Access Modifiers (Encapsulation)

  • public: যে কেউ অ্যাক্সেস করতে পারে।

  • protected: শুধুমাত্র ক্লাস ও সাবক্লাস থেকে অ্যাক্সেস করা যায়।

  • private: শুধুমাত্র সেই ক্লাসের মধ্যেই ব্যবহার করা যায়।

class Example { private $data = "Secret"; public function getData() { return $this->data; } } $obj = new Example(); echo $obj->getData(); // Output: Secret

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

  • একটি ক্লাস থেকে অন্য ক্লাস ইনহেরিট করতে পারে, যাতে কোড পুনঃব্যবহার করা যায়।

class Animal { public function makeSound() { echo "Some sound"; } } class Dog extends Animal { public function makeSound() { echo "Bark"; } } $dog = new Dog(); $dog->makeSound(); // Output: Bark

6. Polymorphism (বহুরুপিতা)

  • একই মেথড বিভিন্নভাবে কাজ করতে পারে।

class Shape { public function draw() { echo "Drawing a shape"; } } class Circle extends Shape { public function draw() { echo "Drawing a circle"; } } $shape = new Circle(); $shape->draw(); // Output: Drawing a circle

7. Abstraction (নির্ধারিত ক্লাস)

  • শুধুমাত্র মেথড ডিক্লেয়ার করা যায়, কিন্তু ডেফিনেশন দেয়া যায় না।

abstract class Vehicle { abstract public function move(); } class Bike extends Vehicle { public function move() { echo "Bike is moving"; } } $b = new Bike(); $b->move(); // Output: Bike is moving

8. Interface

  • এটি একধরনের কন্ট্রাক্ট যা ক্লাস মেনে চলে।


interface Animal { public function makeSound(); } class Cat implements Animal { public function makeSound() { echo "Meow"; } } $cat = new Cat(); $cat->makeSound(); // Output: Meow

9. Traits

  • এটি কোড রিইউজ করার জন্য ব্যবহার করা হয়, যখন মাল্টিপল ইনহেরিটেন্স সম্ভব নয়।

trait Logger { public function log($message) { echo "Log: " . $message; } } class User { use Logger; } $user = new User(); $user->log("User logged in"); // Output: Log: User logged in

10. Static Methods & Properties

  • অবজেক্ট তৈরি না করেই ক্লাসের স্ট্যাটিক মেথড ব্যবহার করা যায়।

class MathHelper { public static function square($num) { return $num * $num; } } echo MathHelper::square(4); // Output: 16

No comments

Theme images by fpm. Powered by Blogger.