Interfejsy

Interfejs jest kolekcją metod abstrakcyjnych. Opisuje zbiór cech, które musi spełniać implementująca go klasa. Jest podobny do czystej klasy abstrakcyjnej (takiej, która zawiera tylko abstrakcyjne składowe). Interfejs z założenia nie dostarcza implementacji dla swoich składowych - są one implementowane dopiero w klasach lub strukturach dziedziczących z interfejsu (implementujących ten interfejs). Klasa (ewentualnie struktura) może implementować wiele interfejsów. Interfejs może dziedziczyć po wielu innych interfejsach.

Wzór deklaracji interfejsu:

[modyfikatory]  interface  nazwaInterfejsu  [ : nazwyNadinterfejsów ]
{
   //  Deklaracje składowych interfejsu
} 


Przykład interfejsu:


public  interface  IZapisywalny {  // Prosty interfejs.
   void Zapisz( ) ;                // Składowe interfejsu są
}                                  // z założenia publiczne

public class MyClass : IZapisywalny { // Klasa implementująca interfejs.
  ...
  void funkcja(  IZapisywalny z ) {  // Funkcja przyjmująca parametr
    ...                              // typu implementującego interfejs
  }
}

Klasa lub struktura może być niejawnie rzutowana do interfejsu, który implementuje. Interfejs może być niejawnie rzutowany do interfejsu, po którym dziedziczy. Interfejs może być jawnie rzutowany do każdego innego interfejsu lub klasy.


prev | Strona Główna | next

Copyright © 2006 Daniel Dusiński
Wszelkie prawa zastrzeżone