Get et set dans java

Résolu
Sleem_ Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -  
lilli1 Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   27
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   27
 
C'est parfait.
0
lilli1 Messages postés 88 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
merci et bon courage et n'oublie pas " quand on veut , on peut"
0
lilli1 Messages postés 88 Date d'inscription   Statut Membre Dernière intervention  
 
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