INF.04Programowanie Obiektowe i Paradygmaty (OOP)
Interfejs (Interface)
Czysty kontrakt określający zestaw sygnatur metod i właściwości bez pól stanu, który klasa implementująca musi w całości zrealizować.
Różnica między Interfejsem a Klasą Abstrakcyjną:
| Cecha | Interfejs (interface) | Klasa abstrakcyjna (abstract class) |
|---|---|---|
| Wielokrotna implementacja | TAK – klasa może implementować wiele interfejsów (class A : IB, IC) | NIE – pojedyncze dziedziczenie (w C#/Java) |
| Pola instancji (stan) | Brak pól danych (tylko sygnatury metod/właściwości) | Może posiadać pola prywatne, chronione i stan |
| Konstruktory | Brak konstruktorów | Posiada konstruktory |
| Relacja | Określa umiejętność/kontrakt (CAN-DO, np. IDisposable, IComparable) | Określa tożsamość (IS-A, np. Zwierze -> Pies) |
Chcesz sprawdzić to pojęcie w praktyce?
Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Interfejs (Interface) lub rozpocznij trening.