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})";
}
}