+1 امتیاز
قبل در برنامه نویسی توسط (7.0هزار امتیاز)
ویرایش شده قبل توسط
فرق کلاس های interface  با abstract در چیست؟

1 پاسخ

+1 امتیاز
قبل توسط (1.1هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

اولین تفاوت در سینتکس تعریف آنهاست.

متدهای یک interface همگی abstract هستند و پیاده سازی ندارند ولی یک کلاس anstract می تواند هیچ متد abstract نداشته باشد یا چندتا متد abstract داشته باشد و چند تا متد غیر abstract.

یک کلاس غیر abstract برای ارث بردن از یک interface باید آن را implements کند ولی برای ارث بردن از یک کلاس abstract باید آن را extends کند.

یک کلاس abstract علاوه بر اینکه می تواند یک یا چند interface را implements کند می تواند یک کلاس غیر abstrat و یا همچنین یک کلاس abstract را نیز extend کند ولی یک interface فقط می تواند یک interface دیگر را extends کند.

در نهایت interface یک سینتکس (خلاصه) برای تعریف یک کلاس که تمام متد های آن abstract هستند می باشد.

سوالات مشابه

0 امتیاز
0 پاسخ 782 بازدید
+1 امتیاز
5 پاسخ 7.8هزار بازدید
0 امتیاز
1 پاسخ 589 بازدید
0 امتیاز
1 پاسخ 329 بازدید
0 امتیاز
1 پاسخ 922 بازدید
+3 امتیاز
1 پاسخ 958 بازدید
+1 امتیاز
0 پاسخ 3.5هزار بازدید
+1 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
2 پاسخ 574 بازدید
...