اینترفیسها (Interfaces) یکی از مهمترین مفاهیم در زبانهای برنامهنویسی شیءگرا مانند سی شارپ هستند. آنها به برنامهنویسان امکان میدهند تا قراردادهایی را برای پیادهسازی کلاسها تعریف کنند. اینترفیسها مانند یک الگو یا قراردادی عمل میکنند که متدها و ویژگیهایی را تعریف میکنند، اما پیادهسازی آنها را بر عهده کلاسهایی که از اینترفیس استفاده میکنند، میگذارند. به کمک اینترفیسها میتوان ساختاری منظمتر و انعطافپذیرتر برای طراحی نرمافزار ایجاد کرد. در این مقاله، با مفهوم اینترفیسها در سی شارپ، نحوه استفاده، کاربردهای آنها و تفاوت آنها با کلاسهای abstract به صورت جامع آشنا خواهید شد
اینترفیس یک نوع داده انتزاعی است که تنها شامل امضای متدها، ویژگیها و رویدادها است و هیچگونه پیادهسازی داخلی برای آنها ندارد. به بیان دیگر، اینترفیسها شامل تعریف متدها و ویژگیها هستند، اما هیچ منطقی در آنها نوشته نمیشود. کلاسها و ساختارها (structs) که اینترفیس را پیادهسازی میکنند، باید تمام اعضای تعریفشده در آن اینترفیس را پیادهسازی کنند. این امکان به توسعهدهندگان اجازه میدهد که بدون وابستگی به پیادهسازی خاص، از یک الگوی مشترک برای تمامی کلاسهای پیادهسازیکننده استفاده کنند.
