Witam.
Nurtuje mnie takie pytanie. Wręcz nie daje mi spać po nocach. Do czego służą Interfejsy w C#. Wiem mniej więcej, jak Interface jest skonstruowany, wiem, jak go użyć, ale za diabła nie mogę wymyślić żadnego praktycznego zastosowania dla niego. Przecież jak mogę zaimplementować obiekt jakiejś klasy dziedziczącej po interfejsie, to równie dobrze mogę bez interfejsu, i powinno działać identycznie. Przecież w interfejsie są tylko puste deklaracje metod. W dodatku klasa, która po nim dziedziczy, MUSI zawierać definicje wszystkich metod tego interfejsu. Czyli jak pominiemy interfejs, wszystko powinno działać identycznie. Więc jaka jest ich funkcja? Do czego one służą? Jedyne co mi przychodzi do głowy, to przypadek, kiedy klasa dziedziczy po kilku interfejsach. Ale widziałem też wiele kodów żródłowych, gdzie było dziedziczenie po pojedynczym. I proszę mnie nie odsyłać do tutoriali (ani tym bardziej na google), bo obejrzałem ich chyba z tysiąc. Mam też kilka książek na temat C#, i wszędzie wygląda to identycznie - pokazane jest, jak używać interfejsów, jak je zaimplementować, jak się po nich dziedziczy, ale nigdzie (słownie NIGDZIE) nie znalazłem ani słowa na temat tego, jaka jest praktyczna korzyść (lub konieczność) z ich używania. Na jednym z forów widziałem podobne pytanie. Ktoś pytał o to, do czego one służą, a w odpowiedzi dostał... opis, jak je używać :)