La méthode toString()

Résolu/Fermé
soufian1364 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 23 mai 2016 - 21 mars 2008 à 09:38
 melvil - 17 oct. 2017 à 14:43
Salut tout l'monde,

En clair, mon problème c'est de savoir :

1- à quoi sert la methode toString() en Java.
2- Comment l'utiliser.

je ss debutant, c'est vrai,.. mais je crois qu'on est tous passé par là,

Merci de bien vouloir illustrer un/des exemple(s) :)
A voir également:

9 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
21 mars 2008 à 11:12
La méthode toString() en java permet de donner un aperçut d'un objet instancié.
C'est à dire que cette méthode va te retourner une chaine de caractère représentant ton objet : affichage de la valeur des propriétés par exemple.
Comment l'utiliser ?
Il faut d'abord que tu implémente cette fonction dans la classe où tu souhaite utiliser le toString. Implémenter = code la fonction toString dans cette classe.
Ta fonction devra avoir le squellette suivant :

public String toString ( ){
    return "";  // --- Ici completer avec les infos de ta classe que tu souhaite afficher
}


Ensuite pour l'utiliser, comme elle te retourne une string, si tu souhaite afficher la représentation d'un objet instancié de cette classe, il te suffira de faire :

MaClasse monObjet = new MaClasse()
 monObjet.setName("toto"); // --- Si ta classe à une propriété 'name' et que tu as fais une méthode public pour y accèder / setter la valeur
System.out.println(monObjet.toString()); // Pour afficher ton objet

196
merci mec t'es un reuf
0
soufian1364 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 23 mai 2016 4
18 avril 2008 à 19:23
Merci beaucoup sisoft2008 ,
tant qu'il existe encore des amis comme vous, on a que vivre dans le bien-être.

A+
39
T'inquiètet gros sisi la famille toujourss là RAIIIIIIIIII
0
sisoft2008 Messages postés 14 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 1 décembre 2008
9 avril 2008 à 00:23
salut soufian1364,
setName() est en fait un setter (c'est une méthode que tu défini qui te permet de modifier un attribut de ton objet).
Donc dans ce cas setName("toto") te permet de modifier l'attribut name dont kij_82 a parlé dans son post
en y mettant "toto".
21
setName sert si tes attributs sont private ou non.Si ils ne le sont pas,mets-les en private car tout attribut doit être en private.Les get et les set sont des méthodes qui permettent d'accéder à ces attributs dans une fonction.
Exemple dans ta classe il y aura :
public class Personne
{
private String Nom;

public String getNom()
{
return Nom;
}

public void setNom(String nom)
{
Nom= nom;
}
}

et dans ton main si tu veux changer le nom il faut faire:

Personne unePersonne = new Personne();//Instancie un objet de la classe Personne
unePersonne.setNom("toto");//Mettre toto dans ton string nom
System.out.println("Le nom de la personne est : "+unePersonne.getNom());//Affiche le nom de la personne via ta fonction getNom qui te retourne le nom du string.
12

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
soufian1364 Messages postés 41 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 23 mai 2016 4
22 mars 2008 à 10:05
Qu'est ce que tu veux dire par la ligne : monObjet.setName("toto"); ?


setName() est une autre methode ?
9
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
3 juin 2010 à 11:08
Exactement, comme le souligne Matkill, tout attribut dans une classe, devrait par défaut être en visibilité 'private'. Après, selon les programmes et choix de gestion il est possible d'en passer certains en 'public' ou 'protected'.

La raison de toujours mettre les attributes d'une classe en privé (et de créer les accesseurs qui vont bien - getter et setter - qui eux au passage pourront être public, protected ou private aussi) est simple: sécurité du programme, ainsi que propreté d'écriture du code / maintenabilité.
Si un programme propose les attributs de toutes les classes en public (visible de n'importe quelle autre classe), on ne peut plus contrôle l'accès à ces propriétés (et faire par exemple des contrôles de format dessus au moment de les setter avec une valeur.

Et puis quand on programme, c'est tout de suite plus lisible pour nous ou une personne extérieur n'ayant pas fait le programme : toute propriété de classe sera accédée par des getters / setters, les autres variables seront nommée "normalement" (ex: myValue, personnellement, pour les variables locale, je précède toujours d'un 'my' dans le nom de la variable, question d'organisation imposée par ma boite, mais qui au final est pas si mal que ça)
9
setName() est un modificateur : il permet de changer le name de ton objet. Pour connaitre ton name, il faut utiliser le getName(), qui est un accesseur.
De plus, pour Matkill, il est préférable de nommer ses attributs en commençant par des minuscules...
9
il faut telecharger l'eclipse java le camp
9
aedaadadazaz
9