اینترفیس ها (Interface) در زبان سی شارپ
اینترفیس (Interface) به عنوان یک قرار داد تعریف می شود و تمامی کلاس هایی که از اینترفیس ارث بری می کنند، باید قوانین موجود در آن را دنبال کنند. به عبارت دیگر یک اینترفیس توابعی که باید وجود داشته باشند را اعلان می کند و کلاس مشتق شده نیز نحوه عملکر این توابع را تعریف می کند.
اینترفیس خاصیت ها، متدها و رویدادها را شامل می شود. هیچ یک از این اعضا در داخل اینترفیس پیاده سازی نمی شوند و فقط در آن اعلان می گردند و وظیفه پیاده سازی بر عهده کلاس مشتق شده است. در حقیقت اینترفیس ها یک ساختار استاندارد ایجاد می کنند که کلاس های مشتق شده با پیروی از آن ساختار تولید می شوند.
کلاس های abstract نیز هدف مشابهی دارند. با این حال این نوع کلاس ها اغلب زمانی استفاده می شوند که فقط چند متد توسط کلاس پایه پیاده سازی شود و سایر متدها توسط کلاس مشتق شده پیاده سازی شوند.
تعریف اینترفیس
به منظور تعریف یک اینترفیس از کلمه کلید interface استفاده می شود. تعریف اینترفیس مشابه با تعریف کلاس است. اعضای اینترفیس به صورت پیش فرض public هستند و این سطح دسترسی قابل تغییر نیست.
مثال زیر نحوه تعریف یک اینترفیس را نشان می دهد:
public interface ITransactions { // interface members void showTransaction(); double getAmount(); }
مثال زیر نحوه پیاده سازی و استفاده از اینترفیس بالا را نشان می دهد:
using System.Collections.Generic; using System.Linq; using System.Text; using System; namespace InterfaceApplication { public interface ITransactions { // interface members void showTransaction(); double getAmount(); } public class Transaction : ITransactions { private string tCode; private string date; private double amount; public Transaction() { tCode = " "; date = " "; amount = 0.0; } public Transaction(string c, string d, double a) { tCode = c; date = d; amount = a; } public double getAmount() { return amount; } public void showTransaction() { Console.WriteLine("Transaction: {0}", tCode); Console.WriteLine("Date: {0}", date); Console.WriteLine("Amount: {0}", getAmount()); } } class Tester { static void Main(string[] args) { Transaction t1 = new Transaction("001", "8/10/2012", 78900.00); Transaction t2 = new Transaction("002", "9/10/2012", 451900.00); t1.showTransaction(); t2.showTransaction(); Console.ReadKey(); } } }
امتحان کنید
زمانی که کد بالا توسط کامپایلر سی شارپ اجرا شود، نتیجه زیر را تولید خواهد کرد:
Transaction: 001 Date: 8/10/2012 Amount: 78900 Transaction: 002 Date: 9/10/2012 Amount: 451900
نوشته اینترفیس ها (Interface) در زبان سی شارپ – آموزش زبان سی شارپ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.