ویرگول
ورودثبت نام
سهراب خان‌بدر | Sohrab Khanbadr
سهراب خان‌بدر | Sohrab Khanbadrچیزی مثبت بگو، و چیز مثبت خواهی دید." — جیم تامپسون من کیستم ؟ من کجا هستم ؟ من چه میخواهم ؟
سهراب خان‌بدر | Sohrab Khanbadr
سهراب خان‌بدر | Sohrab Khanbadr
خواندن ۱ دقیقه·۶ ماه پیش

توضیح ساده interface در #C


توضیح ساده interface در #C:

interface مثل یک قرارداد است. وقتی یک کلاس یا ساختار (struct) از یک interface استفاده می‌کند، موظف است تمام روش‌ها، ویژگی‌ها یا رویدادهای تعریف‌شده در آن را پیاده‌سازی کند.

  • مثال ساده:فرض کنید یک interface به نام IAnimal داریم که متد MakeSound() را تعریف می‌کند. هر کلاسی مثل Dog یا Cat که این interface را پیاده‌سازی کند، باید این متد را داشته باشد.

مثال ۱: پیاده‌سازی ساده

interface IAnimal 
{
    void MakeSound();
}

class Dog : IAnimal 
{
    public void MakeSound() 
    {
        Console.WriteLine("Woof!");
    }
}

class Cat : IAnimal 
{
    public void MakeSound() 
    {
        Console.WriteLine("Meow!");
    }
}

استفاده:

IAnimal dog = new Dog();
IAnimal cat = new Cat();

dog.MakeSound(); // output: "Woof!"
cat.MakeSound(); // output: "Meow"

مثال ۲: استفاده از ویژگی (Property)

interface IVehicle 
{
    int Speed { get; set; }
    void Accelerate();
}

class Car : IVehicle 
{
    public int Speed { get; set; }
    
    public void Accelerate() 
    {
        Speed += 10;
    }
}

استفاده:

Car myCar = new Car();
myCar.Accelerate();
Console.WriteLine(myCar.Speed); // output: 10

مثال ۳: ارث‌بری بین اینترفیس‌ها

interface IFlyable 
{
    void Fly();
}

interface IBird : IFlyable 
{
    void Chirp();
}

class Sparrow : IBird 
{
    public void Fly() 
    {
        Console.WriteLine("Flying!");
    }
    
    public void Chirp() 
    {
        Console.WriteLine("Jik Jik!");
    }
}

استفاده:

IBird sparrow = new Sparrow();
sparrow.Fly();   // output: "Flying"
sparrow.Chirp(); // output: "Jik Jik"

نکات کلیدی برای حفظ کردن:

  1. اینترفیس = قرارداد: هر کلاسی که از آن استفاده می‌کند، باید تمام اعضای آن را پیاده‌سازی کند.

  2. نمیتواند بدنه داشته باشد: فقط تعریف متدها/ویژگی‌ها (مگر از قابلیت‌های جدیدتر #C استفاده شود).

  3. چندین اینترفیس: یک کلاس می‌تواند چندین اینترفیس را پیاده‌سازی کند (مثلاً class A : I1, I2).

✅ با این مثال‌ها و توضیحات، به‌راحتی می‌توانید مفهوم interface را درک و استفاده کنید!

موضوع interface (C# Reference) در سایت مایکروسافت / deepseek ai

amp quot
۱
۰
سهراب خان‌بدر | Sohrab Khanbadr
سهراب خان‌بدر | Sohrab Khanbadr
چیزی مثبت بگو، و چیز مثبت خواهی دید." — جیم تامپسون من کیستم ؟ من کجا هستم ؟ من چه میخواهم ؟
شاید از این پست‌ها خوشتان بیاید