Skip to main content

Command Palette

Search for a command to run...

PHP OOP Access Modifiers Public, Private, Protected

Published
3 min readView as Markdown
PHP OOP Access Modifiers Public, Private, Protected

PHP-এ OOP (Object-Oriented Programming) শেখার সময় Access Modifiers খুবই গুরুত্বপূর্ণ। এগুলো Class-এর Properties এবং Methods-এর এক্সেস নিয়ন্ত্রণ করে।
PHP-এ মূলত তিন ধরনের Access Modifiers আছে:

  1. Public

  2. Private

  3. Protected

চলুন একে একে দেখি।

Public

Public Access Modifier মানে হলো কোনো রেস্ট্রিকশন নেই।
Public প্রোপার্টি বা মেথডকে Class-এর ভিতরে এবং বাইরে দু’জায়গায় ব্যবহার করা যায়।

উদাহরণ:

<?php
class Car {
    public $brand;

    public function setBrand($name) {
        $this->brand = $name;
    }

    public function getBrand() {
        return $this->brand;
    }
}

$myCar = new Car();
$myCar->setBrand("Toyota");
echo $myCar->getBrand(); // Output: Toyota

এখানে $brand এবং মেথডগুলো public, তাই আমরা Class-এর বাইরে থেকেও এগুলো ব্যবহার করতে পারছি।

Private

Private মানে হলো সরাসরি বাইরে থেকে এক্সেস করা যাবে না।
Private প্রোপার্টি বা মেথড শুধুমাত্র একই Class-এর ভিতরে ব্যবহার করা যায়।

উদাহরণ:

<?php
class BankAccount {
    private $balance = 0;

    public function deposit($amount) {
        $this->balance += $amount;
    }

    public function getBalance() {
        return $this->balance;
    }
}

$account = new BankAccount();
$account->deposit(500);
echo $account->getBalance(); // Output: 500

// সরাসরি access করলে error হবে
// echo $account->balance; // Fatal error

ব্যাখ্যা:

  • আমরা $balance কে private করেছি।

  • তাই সরাসরি $account->balance করতে পারবো না।

  • কিন্তু public মেথড deposit() এবং getBalance() ব্যবহার করে balance পরিবর্তন ও দেখানো যায়।

Private এর সুবিধা:

  • Data Encapsulation।

  • ডেটা নিরাপদ রাখা যায়।

Protected

Protected মানে হলো Class-এর ভিতরে এবং Inherited Class-এ ব্যবহার করা যাবে।
কিন্তু Class-এর বাইরে থেকে সরাসরি access করা যাবে না।

উদাহরণ:

<?php
class ParentClass {
    protected $name = "Parent";

    protected function showName() {
        return $this->name;
    }
}

class ChildClass extends ParentClass {
    public function display() {
        return $this->showName();
    }
}

$child = new ChildClass();
echo $child->display(); // Output: Parent

// সরাসরি access করলে error হবে
// echo $child->name; // Fatal error

ব্যাখ্যা:

  • $name এবং showName() protected।

  • আমরা ChildClass থেকে access করতে পারি।

  • Class-এর বাইরে সরাসরি access করা যাবে না।

Protected এর সুবিধা:

  • Inheritance-এর সময় ডেটা শেয়ার করতে সুবিধা।

  • Class-এর বাইরে ডেটা লুকিয়ে রাখা যায়।

Quick Summary Table

ModifierAccess Inside ClassAccess in Child ClassAccess Outside Class
Public
Private
Protected

দৈনন্দিন জীবনের উদাহরণ

  • Public: আপনার Facebook প্রোফাইলের “Public Post” – কেউ যা দেখতে চায়, সবাই দেখতে পারে।

  • Private: আপনার Facebook Account-এর Password – শুধু আপনার জন্য।

  • Protected: আপনার ফ্যামিলি ফটো Album – শুধু পরিবারের মধ্যে শেয়ার করা যাবে।

Access Modifiers শেখা খুবই গুরুত্বপূর্ণ, কারণ এগুলো Class-এর ডেটা নিরাপদ রাখে এবং কোডের structure ভালো রাখে।

  • Public: সব জায়গা থেকে access করা যায়।

  • Private: শুধুমাত্র class-এর ভিতরে access করা যায়।

  • Protected: class এবং subclass-এর ভিতরে access করা যায়।

এবার যখন আপনি OOP-এ কাজ করবেন, আপনার কোড হবে নিরাপদ, পরিষ্কার এবং maintainable।

1 views

More from this blog

HTML-2026

HTML-কে আমরা সাধারণত ওয়েবের সবচেয়ে পুরোনো এবং স্থির প্রযুক্তিগুলোর একটি হিসেবে দেখি। CSS ও JavaScript যেখানে দ্রুত নতুন নতুন feature পাচ্ছে, HTML তুলনামূলকভাবে ধীরে পরিবর্তিত হয়। তবে ধীরে পরিবর্তন হওয়

Sep 3, 202612 min read2
HTML-2026
S

SliceTech

97 posts

Sharing basic web development tutorials.