شیءگرایی — کلاس و شیء
مفاهیم پایه شیءگرایی در PHP — کلاس، شیء، ویژگیها، متدها و سازنده
شیءگرایی (OOP) چیست؟
شیءگرایی (Object-Oriented Programming) یک روش برنامهنویسی است که دادهها و توابع را در قالب کلاس و شیء سازماندهی میکند.
کلاس و شیء
- کلاس (Class): قالب یا نقشه — مثل نقشه ساخت ماشین
- شیء (Object): نمونه ساختهشده از کلاس — مثل یک ماشین واقعی
تعریف کلاس
<?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 است.