اینترفیس چیست؟

توسط کاوه طاهری آخرین بروزرسانی

در برنامه نویسی شی گرا اینترفیس (Interface) کاری است که یک شی می تواند انجام دهد. برای مثال کلید لامپ را روشن می کند، ما نمیدانیم چه کاری در پشت کلید انجام می شود. فقط روشن شدن لامپ برای ما مهم است.

در برنامه نویسی دقیقا مانند مثال لامپ، متد ها به صورت TurnOn یا TurnOff نوشته می شود.

public interface ILamp
{
    void TurnOn();

    void TurnOff();
}

طبق قرارداد نام گذاری در سی شارپ، اینترفیس با حرف بزرگ I مشخص می شود.

در مثال بالا یک Interface برای لامپ داریم که شامل 2 متد روشن و خاموش برای لامپ است. برنامه نویس بدون توجه به اینکه لامپ چجوری قرار است روشن و خاموش شود از این Interface در ادامه برنامه استفاده می کند.

چندریختی یا پلی‌مورفیسم یکی از ویژگی های اصلی برنامه نویسی شی گراست. چندریختی توسط اینترفیس به آسانی پیاده سازی می شود.

public interface ICar
{
    void StartEngine();
}

public class Bmw : ICar
{
    public void StartEngine()
    {
        // start bmw engine
    }
}

public class Volvo : ICar
{
    public void StartEngine()
    {
        // start volvo engine
    }
}

static void Main(string[] args)
{
    var cars = new List<ICar>();

    cars.Add(new Bmw());
    cars.Add(new Volvo());
    cars.Add(new Bmw());
    cars.Add(new Bmw());
    cars.Add(new Volvo());
    cars.Add(new Volvo());

    foreach (var car in cars)
    {
        car.StartEngine();
    }

}

در بالا مثالی از پلی‌مورفیسم در C شارپ آورده شده است. کلاس Bmw و Volvo از ICar پیاده سازی و Instance ایجاد شده در لیستی از خودرو ها قرار داده شده، سپس به ترتیب با فراخوانی متد StartEngine بدون توجه به نوع خودرو روشن شده اند.

مهمترین استفاده Interface 

0 نظر

نظر بدهید

نشانی ایمیل منتشر نخواهد شد.

کلیه حقوق مادی و معنوی برای ikaveh.com محفوظ است.