Afficher les objets d'une liste s'il sont de type classe
Résolu/Fermé
A voir également:
- Afficher les objets d'une liste s'il sont de type classe
- Liste déroulante excel - Guide
- Site pour vendre des objets d'occasion - Guide
- Liste déroulante en cascade - Guide
- Afficher mot de passe wifi android - Guide
1 réponse
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
10 avril 2014 à 18:20
10 avril 2014 à 18:20
Bonjour,
Il est toujours intéressant lorsque l'on fait de la programmation objet de toujours généraliser au maximum.
Ici tu as un code pour des entiers tu veux l'adapter pour une classe Personne puis ce sera autre chose, et pourtant le code ne change pas vraiment selon le type des données.
Ce que tu peux faire c'est paramétrer tes classes ce qui donne :
Il est toujours intéressant lorsque l'on fait de la programmation objet de toujours généraliser au maximum.
Ici tu as un code pour des entiers tu veux l'adapter pour une classe Personne puis ce sera autre chose, et pourtant le code ne change pas vraiment selon le type des données.
Ce que tu peux faire c'est paramétrer tes classes ce qui donne :
class Noeud<E>Tu pourras ensuite utiliser des ListeChainee<Personne> où tout les "E" seront des Personne.
{
E info;
Noeud<E> suivant;
...
}
public class ListeChainee<E>
{
Noeud<E> premier;
Noeud<E> dernier;
...
}
12 avril 2014 à 01:37
j'ai inséré des instances de la classes personne dans ma liste, mais je sais pas comment afficher les trois attribut(nom , prenom, age). voici la fonction d'affichage que j'ai :
j'ai testé comme suit :
le resultat etait "" Personne@1754ad2->null """ et c'est logique de retourner juste la référence de la classe :( .
SVP comment peux je resoudre ce problème ???
12 avril 2014 à 14:26
Ici le problème c'est que tu n'as pas redéfinit la méthode toString de la classe Personne, par défaut elle va t'afficher l'implémentation de la classe Object qui donne "Personne@1754ad2" ce qui correspond au nom de la classe et au hashCode de l'objet.
Redéfinis donc la méthode toString, par exemple comme ceci :
Ce qui te donnera "{nom=AAA, prenom=BBB, age=10}->null"
Sur le même principe je te conseille de remplacer la méthode afficher(ListeChainee l), par la méthode toString dans la classe ListeChainee, comme ça tu pourras faire directement un pour afficher n'importe quelle liste chaînée.
Remarque : tu as écrit mais dans la déclaration il faut également préciser le type <E,> sinon par défaut ce sera un Object etperds la référence sur E, il faudrait donc écrire .
13 avril 2014 à 00:01