Sobes.tech
Junior

C#-də interfeys nədir?

sobes.tech Süni İntellekt

AI-dan cavab

C# dilində interfeys, üzvlərin (metodlar, xüsusiyyətlər, hadisələr, indeksləyicilər) bir dəstəyini müəyyən edən müqavilədir, lakin onların həyata keçirilməsini ehtiva etmir. Siniflər və strukturlar bir və ya bir neçə interfeysi həyata keçirə bilər və bütün interfeys üzvlərinin həyata keçirilməsini təmin etməyə borcludurlar.

Əsas xüsusiyyətlər:

  • Polimorfizmi əldə etməyə imkan verir.
  • Davranışı müəyyən edir, vəziyyəti yox.
  • Yalnız üzvlərin elanlarını ehtiva edə bilər, giriş modifikatorları olmadan (qeyri-rəsmi public).
  • Birbaşa yaradılmayıb (nümunə kimi istifadə edilə bilməz).
  • Çox irsiyyəti dəstəkləyir (bir sinif bir neçə interfeysi həyata keçirə bilər).
  • .NET Core 3.0+ ilə standart interfeyslər təqdim olunmuşdur və üzvlərin həyata keçirilməsini təmin edir.

Nümunə:

// İnterfeys tərifi
public interface ICustomer
{
    string GetFullName(); // Metod elan
    int CustomerId { get; } // Xüsusiyyət elan
}

// İnterfeysi həyata keçirən sinif
public class CompanyCustomer : ICustomer
{
    public int CustomerId { get; set; }
    public string CompanyName { get; set; }
    public string ContactPerson { get; set; }

    public string GetFullName()
    {
        return $"{CompanyName} ({ContactPerson})";
    }
}