OOP - Interfaces
🔹 Interface چیست؟
-
یک Interface (رابط) شبیه به Abstract Class هست، اما فقط شامل تعریف متدها (بدون بدنه) میشه.
-
کلاسهایی که از یک Interface استفاده میکنن، مجبور هستن تمام متدهای اون رو پیادهسازی کنن.
-
از Interface برای تعریف قوانین مشترک بین چند کلاس مختلف استفاده میشه.
🔹 تعریف یک Interface
📌 درون Interface فقط میشه متد تعریف کرد (بدون بدنه).
🔹 پیادهسازی Interface در کلاس
📌 هر کلاسی که implements
میکنه، باید تمام متدهای Interface رو پیادهسازی کنه.
🔹 چندین Interface
یک کلاس میتونه چندین Interface رو همزمان پیادهسازی کنه:
🔹 تفاوت Interface و Abstract Class
ویژگی | Interface | Abstract Class |
---|---|---|
متد | فقط تعریف متد (بدون بدنه) | میتونه متد انتزاعی + متد معمولی داشته باشه |
چندگانه بودن | یک کلاس میتونه چندین Interface پیادهسازی کنه | یک کلاس فقط میتونه از یک Abstract Class ارثبری کنه |
متغیر/ویژگی | اجازه تعریف Property نداره | میتونه Property داشته باشه |
استفاده | برای ایجاد قراردادها و قوانین مشترک | برای ایجاد یک پایه/قالب کلی برای کلاسها |
✅ خلاصه
-
Interface = قراردادی برای کلاسها (فقط شامل تعریف متدها).
-
کلاسها با
implements
یک Interface رو پیادهسازی میکنن. -
یک کلاس میتونه چندین Interface داشته باشه.
-
Interface بیشتر برای استانداردسازی رفتار کلاسها استفاده میشه.