Interfaces et polymorphisme : je ne comprends pas cette syntaxe
Résolu
Dédé Grogon
Messages postés
115
Date d'inscription
Statut
Membre
Dernière intervention
-
Dédé Grogon Messages postés 115 Date d'inscription Statut Membre Dernière intervention -
Dédé Grogon Messages postés 115 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens de recontrer dans un code Java la ligne suivante. Il s'agit de la définition d'une interface :
public interface MonInterface<T> {
et plus loin je vois des stéréotypes de fonctions de la forme :
public abstract boolean maFonction ( T element );
Je ne comprends pas ces syntaxes. Toute aide sera bienvenue.
Merci :-)
Je viens de recontrer dans un code Java la ligne suivante. Il s'agit de la définition d'une interface :
public interface MonInterface<T> {
et plus loin je vois des stéréotypes de fonctions de la forme :
public abstract boolean maFonction ( T element );
Je ne comprends pas ces syntaxes. Toute aide sera bienvenue.
Merci :-)
A voir également:
- Interfaces et polymorphisme : je ne comprends pas cette syntaxe
- Problème écriture /etc/network/interfaces ✓ - Forum Linux / Unix
- IPv6 désactivé par défaut pour les interfaces à venir ✓ - Forum Windows 10
- Debian et interface graphique - Forum Autres distributions Linux
- Difference entre passerelle et interface ✓ - Forum Réseau
- Pixelisation de l'interface et de l'affichage - Forum Architecture / décoration
1 réponse
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");
Dans mon cas, quelle est la bonne syntaxe pour le prototype du constructeur?
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 :
Il faudrait surcharger l'opérateur?
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