Get et set dans java [Résolu/Fermé]

Messages postés
54
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
26 février 2011
- - Dernière réponse : lilli1
Messages postés
88
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
20 avril 2010
- 28 déc. 2009 à 15:10
Bonjour,
Je suis nouveau dans java, Je trouve quelques problèmes avec les get et les set de java?
De quoi ça s'agit?
J'ai un petit exemple:
j'ai la classe point comme suit:

public class Point{
int x,y;

public Point(int x, int y){
this.x=x;
this.y=y;
}

int get_X(){
return x;
}

int get_Y(){
return y;
}

void set_X(int x){
this.x=x;
}

void set_Y(int y){
this.y=y;
}
}

dans une classe de test nommée Rep:
voilà le code:


public class Rep{
public static void main(String args []){
Point p=new Point(10,2);
System.out.println("Votre point est de coords "+p.get_X()+" et "+p.get_Y());
System.out.println("On va changer les coords");
p.set_X(20);
p.set_Y(12);
System.out.println("Votre point est de coords "+p.get_X()+" et "+p.get_Y());



}
}

Je vous demande: est ce que la syntaxe des set et des get sont justes ou non?
merci.
Cordialement.
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
367
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
20 octobre 2013
25
2
Merci
Bonjour Sleem_,

En Java, les attributs (dans ton exemple x ete y) sont généralement inaccessibles directement en dehos de la classe.
Ta classe Point devrait intégrer cette déclaration :
private int x,y;

Grâce à private (ou protected), tes attributs ne sont pas directement modifiables par un objet. Il doit alors passer par les get et les set pour lire et modifier ces attributs.

Concernant l'écriture des méthodes get_X et set_X, elle ne respecte pas la norme :
en fait, on fait précéder le nom de chaque attribut par get ou set et on remplace la première lettre de chaque attribut par une majuscule; ce qui donne :
getX
setX

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 59245 internautes nous ont dit merci ce mois-ci

Messages postés
54
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
26 février 2011
0
Merci
merci BadGuitarist merci lilli1

voilà alors ce qu'il faut faire, oui ?

public class Point{
private int x,y;

public Point(int x, int y){
this.x=x;
this.y=y;
}

int getX(){
return x;
}

int getY(){
return y;
}

void setX(int x){
this.x=x;
}

void setY(int y){
this.y=y;
}
}
Messages postés
367
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
20 octobre 2013
25
0
Merci
C'est parfait.
Messages postés
88
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
20 avril 2010
0
Merci
alors faites la compilation de votre programme ,
et essayer à chaque fois d'améliorer le code pour comprendre beaucoups de choses et pour avoir des informations suplémentaires
tant que vous etes débutant alors je vous conseille de visiter le site du zéro , c'est trés important et ça vous gide pas à pas;
je vous souhaite bonne continuation
Messages postés
54
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
26 février 2011
0
Merci
merci c'est très gentil de votre part. En fait je passe les examens bientôt et je dois avoir un coup de main de temps en temps, j'ai pas envie de passer beaucoup de temps sur net lisant les cours, ça me fait même mal au yeux, mais lors que je trouve un problème je le passe à commentçamarche.net où je trouve des gentils personnes comme vous.
Messages postés
88
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
20 avril 2010
0
Merci
merci et bon courage et n'oublie pas " quand on veut , on peut"
Messages postés
88
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
20 avril 2010
-1
Merci
bonjour ,
regrder tout simplement le get c'est comme lire (read ) c- à -d lire la valeur de x
le set c'est comme écrire ou affecter (écrire ou affecter la valeur de x)
j'aimerai bien que vous comprenez
bon courage