Developer
تفاوت اینترفیس و Abstract در برنامه نویسی
در بحث برنامه نویسی شی گرایی با مفاهیم به نام اینترفیس ( Interface ) و کلاس های Abstract روبرو هستیم که کارکرد و شباهت های زیادی به هم دارند.
اینترفیس در برنامه نویسی چیست؟
اینترفیس (Interface) در برنامهنویسی یک قرارداد (Contract) است که تعیین کنندهی مشخصهها و عملکردهایی است که یک کلاس باید پیادهسازی کند.

به عبارت دیگر، اینترفیس یک نوع مشخص برای ارتباط بین کلاسها است که تضمین میکند که کلاسهایی که آن را پیادهسازی میکنند، مشخصهها و عملکردهای مورد نیاز را دارند.
interfaceMyInterface{
funmyMethod()
}classMyClass:MyInterface{overridefunmyMethod(){println("MyMethodimplementationinMyClass")} } کلاس Abstract در زبان کاتلین
یک کلاس Abstract (که به عنوان “کلاس انتزاعی” هم نامیده میشود) در برنامهنویسی یک نوع کلاس است که نمیتوانید از آن یک نمونه مستقیم ایجاد کنید.
این کلاسها معمولاً برای ارائه یک پایه انتزاعی برای کلاسهای زیرمجموعه (subclasses) استفاده میشوند.
abstractclassMyAbstractClass{
abstractfunmyAbstractMethod()
funmyConcreteMethod(){
println("Concretemethodinabstractclass") }
} فرق اینترفیس با کلاس Abstract
تا اینجا با ساختار هر دو مورد به خوبی آشنا شدیم و دیدیم که تقریبا کارهای مشابهی انجام میدهند. اما چه تفاوتی باهم دیگر دارند؟
- متد سازنده: در کلاس های Abstract میتوانید متدسازنده داشته باشید اما برای Interface نمیتوانید متد سازنده تعریف کنید.
- متدها: در کلاس های Abstract میتوانید متدهایی داشته باشید بخش بدنه آنها نیز پیاده سازی شده اما در اینترفیس فقط متدها تعریف میشوند.
- ارث بری: کلاس های Abstract میتوانند توسط کلاس های دیگر ارث برده شوند اما اینترفیس چنین قابلیتی ندارد.
- نوع متد: متدها در کلاس های Abstract میتوانند بصورت عمومی یا خصوصی تعریف شوند اما در اینترفیس متدها حتما باید بصورت عمومی تعریف شوند.
باکیفیت ترین دوره آموزش برنامه نویسی چیست ؟
⭐⭐⭐⭐⭐ دوره ی آموزش دوازده قدم برنامه نویسی مهندس سام نیک زاد با کسب امتیاز بالاترین کیفیت دوره ی آموزشی بعنوان با کیفیت دوره انتخاب شده است برای مشاهده کلیک کنید
ثبت نام دوره با تخفیف از ویرگول
مطلبی دیگر از این انتشارات
به زبان برنامه نویسی محدود نشید
مطلبی دیگر از این انتشارات
تکنیکهای ساده خواندن SMS برای توسعهدهندگان اندروید
مطلبی دیگر از این انتشارات
چرا برنامه نویس ها و دیگر افراد پروژه ها و برنامه های خودشون رو نصفه و نیمه رها میکنند؟