INF.04 · pytanie 788
Czym klasa abstrakcyjna różni się od interfejsu w językach Java i C#?
- ANie posiada konstruktora, natomiast interfejs pozwala powoływać własne obiekty
- BWymusza dziedziczenie po dwóch klasach naraz, czego interfejs nie dopuszcza
- CMoże być implementowana wielokrotnie, natomiast interfejs dziedziczy się jeden raz
- DMoże mieć pola instancyjne i konstruktor, natomiast interfejs opisuje sam kontraktPoprawna
Wyjaśnienie
Od Javy 8 oraz C# 8 interfejs może mieć metody domyślne, więc rozstrzyga nie sama implementacja, lecz możliwość przechowywania danych obiektu.