OOP - Abstract Classes
🔹 Abstract Class چیست؟
-
یک کلاس انتزاعی (Abstract Class) کلاسیه که نمیشه ازش مستقیم شیء ساخت.
-
برای اینکه بگیم این کلاس فقط یه قالب کلی هست و کلاسهای دیگه باید ازش ارثبری کنن.
-
میتونه شامل متدهای عادی و متدهای انتزاعی (abstract methods) باشه.
🔹 Abstract Method چیست؟
-
متدی که فقط تعریف شده اما بدنه نداره.
-
کلاسهای فرزند مجبور هستن این متد رو پیادهسازی کنن.
🔹 تعریف Abstract Class
📌 نکته: اگر یک کلاس حداقل یک متد انتزاعی داشته باشه، خودش هم باید abstract باشه.
🔹 استفاده از Abstract Class
🔹 نکات مهم
-
نمیتونیم از یک Abstract Class مستقیم شیء بسازیم:
-
کلاس فرزند که از Abstract Class ارثبری میکنه باید همهی متدهای انتزاعی رو پیادهسازی کنه.
-
Abstract Class میتونه متد عادی هم داشته باشه که لازم نیست در کلاس فرزند بازنویسی بشن.
✅ خلاصه
-
Abstract Class → مثل قالب یا پایه برای کلاسهای دیگه است.
-
نمیشه مستقیم ازش شیء ساخت.
-
میتونه شامل متدهای انتزاعی (بدون بدنه) و متدهای معمولی باشه.
-
کلاسهای فرزند باید متدهای انتزاعی رو پیادهسازی کنن.