określa zbiór zasad według których mamy budować klasy bądź struktury implementujące dany interfejs. Owy zbiór zasad to po prostu deklaracje metod, właściwości oraz zdarzeń. Wszystkie te składowe powinny być zaimplementowane w klasie implementującej interfejs.
Mówiąc prościej interfejs określa co należy zrobić a klasa implementująca określa w jaki sposób należy to zrobić.
klasa implementująca interfejs musi zawierać implementację wszystkich składowych interfejsu
interfejs zawiera jedynie deklaracje, nie dostarcza implementacji
klasa może implementować wiele interfejsów
interfejs nie może zawierać deklaracji pól (jedynie właściwości)
nie można stworzyć instancji interfejsu
nazwy interfejsów poprzedzane są zwykle literą 'I', np ICalculator (to jedynie konwencja a nie wymóg języka C#)
składowe interfejsu nie mogą być oznaczane modyfikatorem dostępu (wszystkie składowe interfejsu oznaczane są domyślnie jako public)
public interface ICalculator //deklaracja interfejsu
{
// deklaracja składowych interfejsu
int Sum(int a, int b);
double Divide (int a, int b)
}
public class Calculator : ICalculator // klasa Calculator implementuje ICalculator
{
int a;
int b;
// implementacja metody interfejsu
int Sum(int a, int b)
{
return a+ b;
}
// implementacja metody interfejsu
double Divde (int a, int b)
{
return a / b;
}
}
Korzystając z serwisu akceptujesz regulamin
oraz politykę prywatności.
Używamy informacji zapisanych za pomocą plików cookies w celu zapewnienia maksymalnej wygody w korzystaniu z naszego serwisu.
Jeśli nie wyrażasz zgody, ustawienia dotyczące plików cookies możesz zmienić w swojej przeglądarce.
Wraz z C# 8 pojawiły się zmiany w specyfikacji interfejsów. Artykuł nieaktualny - w trakcie aktualizacji.
Więcej informacji: https://docs.microsoft.com/pl-pl/dotnet/csharp/whats-new/csharp-8#default-interface-methods
Interfejs
określa zbiór zasad według których mamy budować klasy bądź struktury implementujące dany interfejs. Owy zbiór zasad to po prostu deklaracje metod, właściwości oraz zdarzeń. Wszystkie te składowe powinny być zaimplementowane w klasie implementującej interfejs.
Mówiąc prościej interfejs określa co należy zrobić a klasa implementująca określa w jaki sposób należy to zrobić.