شیءگرایی — کلاس و شیء

مفاهیم پایه شیءگرایی در PHP — کلاس، شیء، ویژگی‌ها، متدها و سازنده

شیءگرایی (OOP) چیست؟

شیءگرایی (Object-Oriented Programming) یک روش برنامه‌نویسی است که داده‌ها و توابع را در قالب کلاس و شیء سازماندهی می‌کند.

کلاس و شیء

تعریف کلاس

<?php
class Car {
    // ویژگی‌ها (Properties)
    public $color;
    public $brand;
    public $speed = 0;

    // متدها (Methods)
    public function accelerate() {
        $this->speed += 10;
        return "سرعت: " . $this->speed;
    }

    public function brake() {
        $this->speed -= 10;
        return "سرعت: " . $this->speed;
    }
}
?>

ساخت شیء

<?php
// ساخت شیء از کلاس
$myCar = new Car();
$myCar->color = "قرمز";
$myCar->brand = "تویوتا";

echo $myCar->accelerate();  // سرعت: 10
echo $myCar->accelerate();  // سرعت: 20
echo $myCar->brake();       // سرعت: 10
?>

کلمه this$

$this به شیء فعلی اشاره می‌کند. وقتی داخل کلاس می‌نویسید $this->color، یعنی ویژگی color همین شیء.

سازنده (Constructor)

متدی که هنگام ساخت شیء خودکار اجرا می‌شود:

<?php
class User {
    public $name;
    public $email;

    public function __construct($name, $email) {
        $this->name = $name;
        $this->email = $email;
    }

    public function getInfo() {
        return "$this->name ($this->email)";
    }
}

// ساخت شیء با پارامتر
$user = new User("علی", "ali@test.com");
echo $user->getInfo();  // علی (ali@test.com)
?>

اصلاح‌کننده‌های دسترسی (Visibility)

اصلاح‌کنندهتوضیح
publicهمه‌جا قابل دسترسی
protectedفقط داخل کلاس و کلاس‌های فرزند
privateفقط داخل همان کلاس
<?php
class BankAccount {
    private $balance = 0;

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

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

$account = new BankAccount();
$account->deposit(1000);
echo $account->getBalance();  // 1000
// echo $account->balance;    // خطا! private است
?>

این مبحث بخشی از دوره آموزش کامل PHP است.

ابزارهای مرتبط