Sobes.tech
Junior

Čo je to rozhranie v C#?

sobes.tech AI

Odpoveď od AI

Rozhranie v C# je zmluva, ktorá definuje súbor členov (metódy, vlastnosti, udalosti, indexery), ale ne obsahuje ich implementáciu. Triedy a štruktúry môžu implementovať jedno alebo viac rozhraní, pričom sa zaväzujú poskytnúť implementáciu všetkých členov rozhrania.

Kľúčové vlastnosti:

  • Umožňuje dosiahnuť polymorfizmus.
  • Definuje správanie, nie stav.
  • Môže obsahovať iba vyhlásenia členov bez modifikátorov prístupu (implicitne public).
  • Nemôže byť vytvorený priamo (inštancovaný).
  • Podporuje viacnásobné dedičstvo (jedna trieda môže implementovať viac rozhraní).
  • Boli zavedené predvolené rozhrania s .NET Core 3.0+, ktoré umožňujú poskytovať implementácie členov.

Príklad:

// Definícia rozhrania
public interface ICustomer
{
    string GetFullName(); // Vyhlásenie metódy
    int CustomerId { get; } // Vyhlásenie vlastnosti
}

// Trieda, ktorá implementuje rozhranie
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})";
    }
}