OOP - Access Modifiers
🔹 Access Modifiers چیست؟
در PHP، Access Modifiers (سطوح دسترسی) مشخص میکنن که چه کسی (داخل یا خارج از کلاس) میتونه به Properties (ویژگیها) و Methods (متدها) دسترسی داشته باشه.
🔹 انواع Access Modifiers در PHP
-
public
-
قابل دسترسی از همه جا (داخل کلاس، خارج کلاس و کلاسهای ارثبر).
-
-
protected
-
فقط داخل خود کلاس و کلاسهای ارثبر (subclass) قابل دسترسی هست.
-
-
private
-
فقط داخل همان کلاس قابل دسترسی هست.
-
حتی کلاسهای فرزند هم دسترسی ندارند.
-
🔹 مثال Public
📌 چون ویژگیها و متدها public
هستند، از بیرون کلاس هم میتونیم بهشون دسترسی داشته باشیم.
🔹 مثال Protected
📌 ویژگی brand
و متد setBrand
فقط در خود کلاس و کلاس فرزند قابل دسترسی هستند، نه از بیرون.
🔹 مثال Private
📌 ویژگی brand
و متد setBrand
فقط داخل خود کلاس قابل دسترسیاند.
از بیرون کلاس یا حتی کلاس فرزند نمیشه بهشون دسترسی داشت.
🔹 جدول خلاصه
Modifier | داخل کلاس | کلاسهای فرزند | بیرون از کلاس |
---|---|---|---|
public | ✅ | ✅ | ✅ |
protected | ✅ | ✅ | ❌ |
private | ✅ | ❌ | ❌ |
✅ نتیجهگیری
-
public
→ همه جا قابل دسترسی -
protected
→ فقط داخل کلاس و کلاسهای فرزند -
private
→ فقط داخل همان کلاس