Sobes.tech
Junior

Šta je interfejs u C#?

sobes.tech АИ

Одговор од АИ

Interfejs u C# je ugovor koji definiše skup članova (metoda, svojstava, događaja, indeksatora), ali ne sadrži njihovu implementaciju. Klase i strukture mogu implementirati jedan ili više interfejsa, obavezujući se da obezbede implementaciju svih članova interfejsa.

Ključne karakteristike:

  • Omogućava postizanje polimorfizma.
  • Definiše ponašanje, a ne stanje.
  • Može sadržavati samo deklaracije članova bez modifikatora pristupa (implicitno public).
  • Ne može biti direktno kreiran (instanciran).
  • Podržava višestruko nasleđivanje (jedna klasa može implementirati više interfejsa).
  • Uvedeni su podrazumevani interfejsi sa .NET Core 3.0+, koji omogućavaju pružanje implementacije članova.

Primer:

// Definicija interfejsa
public interface ICustomer
{
    string GetFullName(); // Deklaracija metode
    int CustomerId { get; } // Deklaracija svojstva
}

// Klasa koja implementira interfejs
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})";
    }
}