Interfejs jest definiowany jako swojego rodzaju wzór, który wszystkie klasy implementujące muszą przestrzegać. Interfejs określa
’co’ powinno być zrobione a klasa dziedzicząca ’jak’ powinno to być zrobione.
Interfejs definiuje właściowości, metody, zdarzenia, które są składowymi tego interfejsu. Warto pamiętać, że interfejs zawiera jedynie
deklaracje składowych, nie ich definicję!
Definicja jest rolą klasy, która dany interfejs implementuje. Zwykle pomaga to w utrzymaniu spójnej struktury, którą klasy dziedziczące
muszą reprezentować.
Klasy abstakcyjne mogą w pewnym stopniu służyć temu samemu celowi, jednakże używane są głównie wtedy, gdy tylko kilka metod musi być
zdeklarowanych w klasie bazowej a klasy pochodne implementują te metody.
Deklarowanie interfejsów
Interfejsy są deklarowane za pomocą słowa kluczowego interface. Deklaracja ta jest podobna do deklaracji
klasy. Interfejsy domyślnie ustawiane są jako publiczne.
Deklaracja: