Interfejsy w języku C#

Interfejs - deklaracje składowych bez implementacji.


Interfejs to struktura podobna do klasy z tą różnicą, że posiada jedynie deklaracje składowych metod a nie implementuje ich. Nie można utworzyć obiektu, który będzie instancją interfejsu. Klasa natomiast może implementować interfejs. Klasa implementująca interfejs musi posiadać implementacje wszystkich składników interfejsu. Oznacza to, że interfejs mówi klasie, co ma zawierać (jakie metody i właściwości). Co bardzo ważne klasa może dziedziczyć tylko po jednej klasie, ale może implementować wiele interfejsów naraz. Interfejs może być interfejsem rozszerzającym dla wielu innych interfejsów, jednak żaden interfejs rozszerzający nie może być bardziej dostępny od interfejsu bazowego. Klasa implementująca interfejs może być bardziej dostępna niż interfejs.

Ogólna składnia deklaracji interfejsu:

[modyfikatory]  interface  Identyfikator   [ :lista_bazowa]
{
   składniki_interfejsu
}
gdzie:
  • modyfikatory - dostępne modyfikatory to: new, public, private, protected, internal (opcjonalne),
  • identyfikator - nazwa interfejsu zaczynająca się dużą literą I (wymagane),
  • lista_bazowa - lista nazw interfejsów bazowych oddzielonych przecinkami (opcjonalne),
  • składniki_interfejsu - deklaracje metod, właściwości, zdarzeń i indekserów - domyślnie metody są publiczne (opcjonalne).

Przykładowy kod interfejsu:

interface IDziedziczacy : IBazowy, IBazowy1
{
    string ZwrocNazwe();
}

Interfejs nie może zawierać:

  • stałych,
  • pól,
  • operatorów,
  • konstruktorów i destruktorów,
  • zagnieżdżonych typów.
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):