Interfaces et polymorphisme : je ne comprends pas cette syntaxe
Résolu/Fermé
Dédé Grogon
Messages postés
115
Date d'inscription
samedi 11 février 2012
Statut
Membre
Dernière intervention
22 septembre 2014
-
12 févr. 2013 à 20:38
Dédé Grogon Messages postés 115 Date d'inscription samedi 11 février 2012 Statut Membre Dernière intervention 22 septembre 2014 - 13 févr. 2013 à 12:02
Dédé Grogon Messages postés 115 Date d'inscription samedi 11 février 2012 Statut Membre Dernière intervention 22 septembre 2014 - 13 févr. 2013 à 12:02
A voir également:
- Interfaces et polymorphisme : je ne comprends pas cette syntaxe
- La syntaxe du nom de fichier de répertoire ou de volume est incorrecte ✓ - Forum Windows 10
- Cette interface n'est pas prise en charge - Forum Windows
- Erreur de syntaxe : fin de fichier prématurée ✓ - Forum Linux / Unix
- Vim /etc/network/interfaces ✓ - Forum Debian
- Erreur de syntaxe près du symbole inattendu « ( » ✓ - Forum C
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
12 févr. 2013 à 20:45
12 févr. 2013 à 20:45
Ce sont des types paramétrés. Tu pourras utiliser T avec n'importe quelle classe.
Exemple, avec la classe LinkedList<T> et la méthode add(T) :
Exemple, avec la classe LinkedList<T> et la méthode add(T) :
LinkedList<String> liste1 = new LinkedList<Integer>();
liste1.add(1);
liste1.add(2);
liste1.add(3);
LinkedList<String> liste2 = new LinkedList<String>();
liste2.add("bonjour");
liste2.add("au-revoir");
12 févr. 2013 à 21:35
Dans mon cas, quelle est la bonne syntaxe pour le prototype du constructeur?
12 févr. 2013 à 21:49
En revanche, ce serait différent si le type paramétré n'était pas de classe, par exemple si la méthode est static, ou si elle fait intervenir un autre type paramétré.
Exemple :
public class MaClasse<T> implements MonInterface<T> { public MaClasse() { } public boolean maFonction(T element) { return true; } public void <U> autreFonction(T t, U u) { } public static <T> void methodeStatique(MaClasse<T> classe, T element) { } }12 févr. 2013 à 22:18
Il faudrait surcharger l'opérateur?
Modifié par KX le 12/02/2013 à 23:34
Tu peux directement écrire cette ligne de code avec ma classe.
Remarque, il fallait lire : public <U> void autreFonction(T t, U u), dans cet ordre
13 févr. 2013 à 01:36