OOP - Inheritance
🔹 ارثبری چیست؟
در OOP، ارثبری به این معنیه که یک کلاس فرزند (Child class) میتونه ویژگیها (Properties) و متدهای (Methods) یک کلاس والد (Parent class) رو به ارث ببره.
با ارثبری:
-
میتونیم کدهای تکراری رو حذف کنیم.
-
میتونیم ویژگیها و متدهای مشترک رو در یک کلاس والد تعریف کنیم.
-
میتونیم کلاسهای تخصصیتر بسازیم که از یک کلاس کلیتر ارثبری میکنن.
🔹 تعریف ارثبری در PHP
برای تعریف ارثبری از کلمهی کلیدی extends استفاده میکنیم:
🔹 مثال ساده
📌 خروجی:
🔹 دسترسی در ارثبری
-
اگر ویژگی یا متد در کلاس والد public یا protected باشه، در کلاس فرزند هم قابل دسترسیه.
-
اگر private باشه، کلاس فرزند نمیتونه بهش دسترسی داشته باشه.
🔹 بازنویسی متدها (Overriding)
کلاس فرزند میتونه متدی که در کلاس والد تعریف شده رو بازنویسی کنه:
📌 خروجی:
🔹 استفاده از parent::
اگر بخوایم متد یا ویژگی والد رو صدا بزنیم، از parent:: استفاده میکنیم:
📌 خروجی:
✅ خلاصه
-
ارثبری با کلمه کلیدی extends تعریف میشه.
-
کلاس فرزند همهی ویژگیها و متدهای کلاس والد رو به ارث میبره (به جز private).
-
میتونیم متدها رو بازنویسی (Override) کنیم.
-
میتونیم با parent:: به متدها یا سازنده کلاس والد دسترسی داشته باشیم.