Junior
Czym jest interfejs w C#?
sobes.tech AI
Odpowiedź od AI
Interfejs w C# to kontrakt, który definiuje zestaw członków (metody, właściwości, zdarzenia, indeksatory), ale nie zawiera ich implementacji. Klasy i struktury mogą implementować jeden lub więcej interfejsów, zobowiązując się do dostarczenia implementacji wszystkich członków interfejsu.
Kluczowe cechy:
- Pozwala osiągnąć polimorfizm.
- Definiuje zachowanie, a nie stan.
- Może zawierać tylko deklaracje członków bez modyfikatorów dostępu (domyślnie
public). - Nie może być tworzony bezpośrednio (nie można go zainicjować).
- Obsługuje wielokrotne dziedziczenie (jedna klasa może implementować wiele interfejsów).
- Wprowadzono interfejsy domyślne od .NET Core 3.0+, które pozwalają na dostarczanie implementacji członków.
Przykład:
// Definicja interfejsu
public interface ICustomer
{
string GetFullName(); // Deklaracja metody
int CustomerId { get; } // Deklaracja właściwości
}
// Klasa implementująca 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})";
}
}