Sobes.tech
Junior

Co je to rozhraní v C#?

sobes.tech AI

Odpověď od AI

Rozhraní v C# je smlouva, která definuje sadu členů (metody, vlastnosti, události, indexery), ale ne obsahuje jejich implementaci. Třídy a struktury mohou implementovat jedno nebo více rozhraní, zavazujíce se poskytnout implementaci všech členů rozhraní.

Klíčové vlastnosti:

  • Umožňuje dosáhnout polymorfismu.
  • Definuje chování, nikoliv stav.
  • Může obsahovat pouze deklarace členů bez modifikátorů přístupu (implicitně public).
  • Nemůže být přímo vytvořeno (instanciováno).
  • Podporuje vícenásobné dědičnosti (jedna třída může implementovat více rozhraní).
  • Byla zavedena výchozí rozhraní s .NET Core 3.0+, která umožňují poskytovat implementaci členů.

Příklad:

// Definice rozhraní
public interface ICustomer
{
    string GetFullName(); // Deklarace metody
    int CustomerId { get; } // Deklarace vlastnosti
}

// Třída implementující rozhraní
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})";
    }
}