Podczas programowania lepiej korzystać z interfejsów niż dziedziczenia.
A jak to wygląda w typach generycznych, gdzie chcemy ograniczyć typ ogólny do jakiegoś interface?
Chcę stworzyć klasę wykorzystująca typ generyczny, ale ten typ powinien mieć dwie metody, niezbędne do prawidłowej pracy.
np
class MojaKlasaGeneryczna<T extends MojInterface>
Pomyślałem sobie, że wszystkie klasy, które będą mogły korzystać z "MojaKlasaGeneryczna" będą musiały impelementować MojInterface, przez co będę miał pewność, że w tych klasach jest wymagana przez "MojaKlasaGeneryczna" metoda.
Czy takie rozwiązanie jest "zgodne ze sztuką" ?
Słowo kluczowe "extends" to tylko zbierzna nazwa z tą, która wykorzystuje się do dziedziczenia? Bo na prawde to w zależności czy jest to klasa - to dziedziczy czy jest interaface to implementuje?