bonjour je vous fait part d'un probleme que je n'arrive pas a résoudre et ne comprend d'ailleurs pas pourquoi ces accesseurs ne fonctionnent pas comme ils le devraient.

J'ai une classe appelé Livre qui a pour attribut :
- titre
-libelle
-prix
- unAuteur (de la classe auteur)

et comme méthodes, les accesseurs de chacun

la classe auteur a comme attributs ceux de la classe Personne dont'il hérite, il a donc les accesseurs et attribut de la classe Personne c'est a dire:
-nom
- prenom

et comme méthodes
getPrenom()
setPrenom()
getNom()
setNom()

Le probleme qui ce pose et que lorsque je souhaite affecter une valeur a nom comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 leLivre.getAuteur().setNom("peterson");
cela ne marche pas, j'ai toujours la valeur par defaut.
Je ne comprend pas car leLivre.getAuteur() retourne l'attribut unAuteur de la classe Auteur et ensuite je fait .setNom() afin d'affecter une valeur a l'attribut nom de l'objet de la classe Auteur (qui hérite public de personne).

Par contre quand je fais sa :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Auteur x;
        x = leLivre.getAuteur();
        x.setNom("paterson");
        leLivre.setAuteur(x);
la sa marche ... je ne comprend absolument pas pourquoi d'autant plus que cela revient a faire exactement ce que je veux faire mais en plus long.

si quelqu'un a fait face a ce probleme et qu'il l'a résolu, merci à lui de me faire partager sa solution.
Merci a tous