Bonjour,
J'aimerais savoir l'intérêt de commencer la nommencalture d'une variable par un underscore "_".
Mercio
Bonjour,
J'aimerais savoir l'intérêt de commencer la nommencalture d'une variable par un underscore "_".
Mercio
Le fait de commencer une variable par '_' reste utilie seulement quand c'est une variable d'instance, sa evite l'utilisation du pointeurthis
j'ai un doute d'avoir bien compris, car on peut initialiser une variable d'instance dans un constructeur par exemple sans la préceder par le pointeur this !
Salut,
historiquement, le "_" précède les noms des variables d'instance d'une classe.
C'est une règle de codage "héritée" du C++ (peut être même du C).
Personnellement je ne l'apprécie pas d'autant que sauf erreur de ma part, cette règle n'est pas mentionnée dans les règles de codage java de Sun.
Oui mais dans ce cas les noms des paramètres doivent être différents des noms des attributs.Envoyé par root76
Perso j'utilise le this. J'ai aussi pas mal vu de paramètres nommés "newNomAttribut".
Les préfixes '_' ça doit donner une sale tête aux getters et aux setters...![]()
pourquoi ca donnerait une salle tête aux getters et setters ?
Ca empêche pas de les faire sans le préfixe.
Ca donnerait une sale tête aux getters et setters car ils auraient cette forme:Envoyé par hugo123
En général, les noms de méthode n'ont pas d'"_".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private Object _maVariable; public Object get_maVariable(){...} public void set_maVariable(Object value){...}
Dans ce cas là, tu ne respecte plus la norme JavaBean qui veut que les accesseurs et mutateurs commencent par get ou set suivit du nom de la variable en mettant la première lettre en majuscule. Ce qui donne:Envoyé par hugo123
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private Object maVariable; public Object getMaVariable(){...} public void setMaVariable(Object value){...}
diabolo a voulu dire qu'on va avoire du code comme:Envoyé par root76
au lieu de(quand ton attribu est nomé "num" et pas "_num"):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public maclasse( int num){ _num=num; }
on fait c'est ce que j'ai compris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public maclasse( int num){ this.num=num; }
on tous cas je pense que moi aussi j'ai pas bien compris![]()
Le "_" est tout simplement une convention d'écriture, elle n'apporte rien à l'efficacité du code. Perso je trouve ça dégueulasse aussi, j'utilise le this.
Certe une convention, mais soit dit en passant, la code convention de Java dit ceci :Envoyé par Rayndell
![]()
Variable names should not start with underscore _ or dollar sign $ characters, even though both are allowed.
Je pense pas car le code suivant donne comme résultat: 8Envoyé par freakfm
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class test { private int variable; public test(){ variable=8; } public static void main(String[] args){ test t6 = new test(); System.out.println(t6.variable); } }
C'est normal que ça te donne 8 non ? Je vois pas le rapport. Le fait de mettre un underscore ou non devant un attribut n'a aucune incidence sur le code, c'est juste une convention d'écriture. Si tu avait appaelé ton attribut _variable, ça aurait donné le même résultat. Et de plus, personne n'a dit qu'on est obligé d'affecter un attribut avec le pointeur this, c'est juste au cas où une variable du même nom est utilisée dans la méthode.Envoyé par root76
Partager