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
melvil - 17 oct. 2017 à 14:43
A voir également:
- Tostring java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel 5360 ✓ - Forum Jeux vidéo
- Télécharger jeux java gameloft gratuit - Forum Mobile
9 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
21 mars 2008 à 11:12
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 :
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 :
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
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
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+
tant qu'il existe encore des amis comme vous, on a que vivre dans le bien-être.
A+
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
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".
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".
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.
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.
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
22 mars 2008 à 10:05
Qu'est ce que tu veux dire par la ligne : monObjet.setName("toto"); ?
setName() est une autre methode ?
setName() est une autre methode ?
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
3 juin 2010 à 11:08
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)
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)
17 oct. 2017 à 14:43