public interface View{...
public interface Control<V extends View>{...
public class RemoteControl<C extends Control<V extends View>> implements Control<V>{...
mi dà un "Errore di sintassi sul gettone 'estende',, previsto" a "V estende View" per la classe RemoteControl.Generics generici: "Errore di sintassi sul gettone 'estende',, prevede"
Credo che la seguente alternativa era possibile
public class RemoteControl<C extends Control<V>,V extends View> implements Control<V>
{...
Ancora mi chiedo se questo non può essere fatto in maniera più implicita in quanto quest'ultimo avrebbe richiesto una dichiarazione ridondante della vista. Vale a dire:
public class TVRemoteControl extends RemoteControl<TVControl,TvView> implements TVControl{...
vs
public class TVRemoteControl extends RemoteControl<TVControl> implements TVControl{...
Forse sto solo bloccato in una scatola di nuovo, ma è possibile ottenere i "generici generici" in un modo più elegante
Ho provato a trovare una soluzione, ma penso che tu l'abbia già detto: non può essere fatto nel modo in cui lo vuoi e devi farlo come descritto in seguito. Anche se non sono riuscito a trovare alcun indizio sul tuo problema, ti rimanderò a questo utile sito: http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html – Sentry
Che ne dici di 'public class RemoteControl> '. Dovrebbe davvero importare per un telecomando quale tipo di vista sta usando il controllo che viene controllato da remoto? –
SpaceTrucker
Mi sento simpatico per tutte le domande di java generics ... – hbhakhra