Get et set dans java

Résolu/Fermé
Sleem_ Messages postés 54 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 26 février 2011 - 28 déc. 2009 à 09:42
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.
A voir également:

7 réponses

BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 27
28 déc. 2009 à 10:14
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
2
Sleem_ Messages postés 54 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 26 février 2011
28 déc. 2009 à 10:28
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;
}
}
0
BadGuitarist Messages postés 367 Date d'inscription dimanche 12 octobre 2008 Statut Membre Dernière intervention 20 octobre 2013 27
28 déc. 2009 à 10:33
C'est parfait.
0
lilli1 Messages postés 88 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 20 avril 2010
28 déc. 2009 à 10:38
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
0

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

Posez votre question
Sleem_ Messages postés 54 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 26 février 2011
28 déc. 2009 à 11:22
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.
0
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
merci et bon courage et n'oublie pas " quand on veut , on peut"
0
lilli1 Messages postés 88 Date d'inscription mardi 7 octobre 2008 Statut Membre Dernière intervention 20 avril 2010
28 déc. 2009 à 10:25
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
-1