Bonjour,
J'ai un petit problème de compréhension sur la généricité.
J'ai créer un formulaire avec swing. Ce formulaire contient des objets implémentant une interface Field ce qui me permet d'appliquer d'une façon générale les méthodes setValue(value) et getValue().
Mes objets étendent donc nécessairement la classe JComponent pour pouvoir les ajouter à un conteneur et implémentent l'interface Field.
Ma class Form set donc paramétrée comme suit :
class Form<T extends JComponent & Field>
Ceci étant je ne pense pas m'y prendre de la bonne manière étant donné que je dois me trimbaler la déclaration de ce type dans toutes les classes qui utilisent la class Form :
1 2 3 4 5 6 7 8 9
|
class A<T extends JComponent & Field>{
private Form<T>;
}
class B<T extends JComponent & Field>{
private Form<T>;
private List<T> liste;
} |
J'ai aussi remarqué que je ne peux pas déclarer un champ comme suit (ce qui m'aurait aidé):
1 2
|
private List<? extends JComponent & Field> liste; |
Voilà si quelqu'un à une idée je suis preneur.
Merci d'avance
Partager