[LGJ] TD 10

Voir le sujet précédent Voir le sujet suivant Aller en bas

resolu [LGJ] TD 10

Message  G39806 le Mar 11 Fév 2014, 15:25

Bonjour,

Tout d'abord, d'après le cours de java on a le droit de mettre plusieurs constructeur pour une même classe, donc imaginons que je crée une classe Personne avec un constructeur qui reçoit en paramètre un nom, un prénom, et une date, et un deuxième constructeur qui reçoit en paramètre un nom, et un prenom. Ensuite, supposons que je précise que le toString doit afficher "Il se nomme "+prénom+" "+nom+" et est né le "+date. Jusque là tout va bien.

Ensuite, dans une classe MainPersonne je fais mon algorithme avec le premier constructeur (nom, prénom, date). Je compile, j'ouvre mon programme et je rentre le nom, le prénom, et la date. Le programme me retourne bel et bien ce que je lui ai demandé.
Cependant, lorsque je rentre seulement le nom et le prénom dans ce même programme, pour faire appel au deuxième constructeur, le programme n'avance plus. Donc je comprends par là que pour faire appel au 2ème constructeur il faut que ça soit celui ci qui est dans le code de mon MainPersonne. C'est bien ça où je me trompe ?

Enfin, je crée une classe MainPersonne où j'utiliserai le 2eme constructeur (prénom, nom). J'aimerais que mon programme affiche "Il s'appelle "+nom+" "+prenom+".". Donc que le toString ne soit pas pareil que pour le deuxième constructeur. Serait ce possible de faire un deuxième toString qui s'activerais seulement pour le 2ème constructeur où il faut adapter le toString pour qu'il soit valable pour les 2 constructeurs ? Dans le deuxième cas, le date devrait afficher quoi ?.

Voila voila, vous m'excuserez si ce sont des questions un peu bizarre mais l'orienté objet et moi c'est pas trop ça ... d’ÉNORMES remerciements à celui où celle qui répondra à mes questions  I love you


Dernière édition par G39806 le Mar 11 Fév 2014, 17:11, édité 1 fois

G39806

Nombre de messages : 9
Age : 24
Prénom : H
Date d'inscription : 02/11/2013

Revenir en haut Aller en bas

resolu Re: [LGJ] TD 10

Message  mcd le Mar 11 Fév 2014, 16:19

Bonjour, les 2 constructeurs doivent être dans la même classe Personne.
Après, il faut voir ce qui est demandé pour le constructeur à 2 paramètres. Que doit valoir la date ? rien ? la date du jour ?
Si c'est la date du jour, ce constructeur va metre une valeur à l'attribut "date" et toString() va fonctionner sans problème.
Si c'est "rien" (comprendre null), le toString() va afficher "...et est né le null" sauf si toString() fait un test et adapte le texte en conséquence.

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

resolu Re: [LGJ] TD 10

Message  G39806 le Mar 11 Fév 2014, 17:11

Super, ça marche comme il faut ! Un grand merci ! cheers

G39806

Nombre de messages : 9
Age : 24
Prénom : H
Date d'inscription : 02/11/2013

Revenir en haut Aller en bas

resolu Re: [LGJ] TD 10

Message  Contenu sponsorisé Aujourd'hui à 08:41


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum