de C++ vers Java : le mot clé "const"( en C++) - Java - Programmation
Marsh Posté le 30-07-2002 à 18:07:08
ha, ça c'est du bon topic interessant  
 
(peut pas t'aider, désolé:D)
Marsh Posté le 30-07-2002 à 18:13:23
| bobuse a écrit a écrit  : DarkLording in progress ...   | 
moi je sens plutot un benou sur ce topic, non? 
Marsh Posté le 30-07-2002 à 18:14:30
| el_gringo a écrit a écrit  : 
   | 
 
 
Là, je suis pas trop ! en quoi une variable de retour peut être constante ou pas ?
Marsh Posté le 30-07-2002 à 18:15:03
| --greg-- a écrit a écrit  : moi je sens plutot un benou sur ce topic, non?   | 
 
Non il doit encore avoir de la vaisselle   
 
Marsh Posté le 30-07-2002 à 18:20:11
| bobuse a écrit a écrit  : Pour le dernier tu peux mettre ta méthode en static. | 
 
 
nan il dit qu'elle s'applique a une instance
Marsh Posté le 30-07-2002 à 18:20:46
Autre question : l'équivalent de
| Code : 
 | 
 c'est quoi ? 
C'est une question que ça fait longtemps que je me la pose ... 
Marsh Posté le 30-07-2002 à 18:21:26
| HappyHarry a écrit a écrit  : nan il dit qu'elle s'applique a une instance | 
 
Et ben tu passes l'instance en paramètre   
  
 
de toute manière, c'est crade !
Marsh Posté le 30-07-2002 à 18:21:29
Bah....En fait, il y a aussi le static qui est vachement important en Java... 
Si tu veux tripatouiller une valeur, sans toucher à la valeur de l'attribut d'une instance, il faut déclarer une méthode statique  
 
| Code : 
 | 
 
 
ce genre de méthode te permet de travailler sur les champs STATIQUES d'une classe (ie, les attributs de classe)  
Les constantes Java sont généralement définies comme static final : ce qui garantit que la valeur sera la même pour toutes les instances de la classe, et qu'elle ne pourra pas être modifiée. 
 
Ouala... 
Marsh Posté le 30-07-2002 à 18:22:36
| bobuse a écrit a écrit  : Autre question : l'équivalent de 
  c'est quoi ?  | 
 
 
| Code : 
 | 
 
 
mais sur un int en Java ca n'a aucun intéret
Marsh Posté le 30-07-2002 à 18:24:03
| HappyHarry a écrit a écrit  : 
   | 
ha bon, on peut déclarer un parametre de methode "final"? euh ça à quel interet?  
Marsh Posté le 30-07-2002 à 18:24:45
| gfive a écrit a écrit  : Bah....En fait, il y a aussi le static qui est vachement important en Java... Si tu veux tripatouiller une valeur, sans toucher à la valeur de l'attribut d'une instance, il faut déclarer une méthode statique 
   | 
 
 
oui mais la on en arrive a la notion de méthode de classe, qui est différente de celle dont il parle, il me semble que son truc, c une methode d'instance, mais qui garantit que l'on ne modifie pas la valeur de l'instance 
 
bobuse -> des fois y a pas le choix   
 
Marsh Posté le 30-07-2002 à 18:25:41
| HappyHarry a écrit a écrit  : 
   | 
 
Ouah c'est vrai on peut faire ça !! 
Depuis le temps, j'y avait déjà vagement pensé, mais jamais osé essayer ...   
  
 
Et ben il est jamais trop tard !
Marsh Posté le 30-07-2002 à 18:25:59
| --greg-- a écrit a écrit  : ha bon, on peut déclarer un parametre de methode "final"? euh ça à quel interet? | 
 
 
edit : betise   
 
Marsh Posté le 30-07-2002 à 18:26:27
Ouais, mais en Java, tu peux très bien appeller une méthode de classe sur une insatnce, et alors, ça revient à peut près au même....Parce que manipuler un attribut d'instance, en garantissant qu'on va pas le modifier....je vois pas l'intérêt...il suffit d'avoir un accesseur, et de l'utiliser là où on en a besoin pour récupérer la valeur, non?
Marsh Posté le 30-07-2002 à 18:27:17
| HappyHarry a écrit a écrit  : pour les classes locales principalement | 
= inner classes ?
Marsh Posté le 30-07-2002 à 18:28:02
| --greg-- a écrit a écrit  : ha bon, on peut déclarer un parametre de methode "final"? euh ça à quel interet? | 
 
 
Ca te garantit que tu ne modifiera pas la valeur, c'est très utile par exemple, quand tu veux une méthode qui utilise des propriétés/méthodes d'un objets, mais que tu ne veux pas du tout le modifier.
Marsh Posté le 30-07-2002 à 18:29:57
| bobuse a écrit a écrit  : Ca te garantit que tu ne modifiera pas la valeur, c'est très utile par exemple, quand tu veux une méthode qui utilise des propriétés/méthodes d'un objets, mais que tu ne veux pas du tout le modifier. | 
est-ce que ça sous entend que ça passe un clone de l'objet à ta methode ou quoi? y'a un truc qui m'échape là... 
Marsh Posté le 30-07-2002 à 18:31:08
non justement tout l'intérêt est là, c'est que tu ne crée pas de copie, mais ça produit le même effet : t'es sûr d'avoir le même truc avant et après ton appel de méthode
Marsh Posté le 30-07-2002 à 18:31:37
| --greg-- a écrit a écrit  : est-ce que ça sous entend que ça passe un clone de l'objet à ta methode ou quoi? y'a un truc qui m'échape là... | 
 
 
ca sous entend que si tu le declares final et que tu essayes de le modifier, ca te pete a la gueule
Marsh Posté le 30-07-2002 à 18:34:10
par contre g toujours pas compris l'intéret de préciser que l'on renvoit une constante ...
Marsh Posté le 30-07-2002 à 18:35:10
| HappyHarry a écrit a écrit  : par contre g toujours pas compris l'intéret de préciser que l'on renvoit une constante ... | 
 
Ouais moi non plus ...   
 
Marsh Posté le 30-07-2002 à 18:35:55
| bobuse a écrit a écrit  : Ouais moi non plus ...   | 
 
 
j'mate dans mon bouquin de C++ que je n'ai jamais ouvert, 5 minutes   
 
 
edit : et ben g po trouvé ...
Marsh Posté le 30-07-2002 à 18:40:27
| bobuse a écrit a écrit  : non justement tout l'intérêt est là, c'est que tu ne crée pas de copie, mais ça produit le même effet : t'es sûr d'avoir le même truc avant et après ton appel de méthode | 
ouaip 
ok 
(merci happyharry pour le coté plus parlant  )
) 
Marsh Posté le 30-07-2002 à 18:41:01
| --greg-- a écrit a écrit  : ouaip ok (merci happyharry pour le coté plus parlant  ) | 
 
 
de rien   
  
moi aussi j'prefere quand on me parle comme ca, j'saisis plus vite lol
Marsh Posté le 30-07-2002 à 18:41:42
http://ltiwww.epfl.ch/Cxx/c2_8.html : 
" const int & m (  [...] 
 il indique que la référence retournée ne peut pas être modifiée. Cet usage de const n'est valable qu'avec le &. Il n'a pas d'effet si l'on retourne un pointeur (* au lieu de &)." 
 
un bout d'explication, mais ça ne me convient pas trop. Je vois toujours pas la réelle utilité !
Marsh Posté le 30-07-2002 à 18:45:01
| bobuse a écrit a écrit  : http://ltiwww.epfl.ch/Cxx/c2_8.html : " const int & m ( [...] il indique que la référence retournée ne peut pas être modifiée. Cet usage de const n'est valable qu'avec le &. Il n'a pas d'effet si l'on retourne un pointeur (* au lieu de &)." un bout d'explication, mais ça ne me convient pas trop. Je vois toujours pas la réelle utilité ! | 
 
 
c'est ca l'utilité   
 
Marsh Posté le 30-07-2002 à 18:46:05
ben pkoi pas faire : 
 
| Code : 
 | 
en java 
 
 
et 
| Code : 
 | 
en C++
Marsh Posté le 30-07-2002 à 18:50:00
| bobuse a écrit a écrit  : ben pkoi pas faire : 
   | 
 
 
parcque qu'on peut qd mm modifier directement la ref retournée sans passer par une variable et ca c'est pas cool si le programmeur veut l'interdir
Marsh Posté le 30-07-2002 à 18:53:15
| zobkiller666 a écrit a écrit  : parcque qu'on peut qd mm modifier directement la ref retournée sans passer par une variable et ca c'est pas cool si le programmeur veut l'interdir | 
 
 
ok ok ! d'accord ! Mais quel avantage de vouloir interdire qu'on modifie la vriable de retour. Car de toutes façons tu ne t'en resers pas après dans ta méthode  (puisque c'est à cet endroit que ça t'interesse de contrôler tes variables). 
 
Heu je sens que je uis plus très clair là   A demain
 A demain   
 
Marsh Posté le 30-07-2002 à 18:57:14
| bobuse a écrit a écrit  : ok ok ! d'accord ! Mais quel avantage de vouloir interdire qu'on modifie la vriable de retour. Car de toutes façons tu ne t'en resers pas après dans ta méthode (puisque c'est à cet endroit que ça t'interesse de contrôler tes variables). Heu je sens que je uis plus très clair là  A demain   | 
 
 
ben en fait ds les langages objets on joue bcp sur la securité ! 
 
on se met pas que du point de vue du gars qui connait a fond son prog mais aussi du mec qui va le retoucher. 
  
  
 
C'est juste pr etre sur qu'il fasse pas de connerie. 
Marsh Posté le 30-07-2002 à 21:26:19
| --greg-- a écrit a écrit  : ha bon, on peut déclarer un parametre de methode "final"? euh ça à quel interet? | 
 
 
ahah vachement subtil ca 
Marsh Posté le 30-07-2002 à 21:27:48
| bobuse a écrit a écrit  : DarkLording in progress ...   | 
 
 
nope j'ai mal au cheveu today. J'ai quitté le boulot un peu plus tot puis recherche d'appart donc 
Marsh Posté le 30-07-2002 à 23:27:55
| el_gringo a écrit a écrit  : qqn peut me donner l'équivalent de ces 2 trucs en Java ? (s'ils existent bien sur !) | 
 
ils n'existent pas, à ma connaissance ...
Marsh Posté le 30-07-2002 à 23:28:58
| bobuse a écrit a écrit  : Non il doit encore avoir de la vaisselle   | 
 
ben non, je bossais cet aprem ... 
 
mai bon, j'ai le tas de vaisselle qui est revenu à son état d'y a deux jours  
 
 
pas le courage  ce soir ! 
Marsh Posté le 30-07-2002 à 23:29:40
| DarkLord a écrit a écrit  : nope j'ai mal au cheveu today. J'ai quitté le boulot un peu plus tot puis recherche d'appart donc   | 
 
bon courage, j'ai connu ca y a pas longtemps !
Marsh Posté le 30-07-2002 à 18:05:15
Alors, en C++, on peut utiliser "const" de différente manières:
ça, en java, ça équivaut à :
ok, ms sur les méthodes, en C++, y a 2 trucs bien pratiques que je vois pas comment retrouver en Java :
ça veut dire que la valeur de retour de la méthode est une constante.
alors qu'en java :
ça n'a pas du tout le même sens, comme vous le savez.
qui indique que cette méthode est constante, c à dire, qu'elle ne modifie ^pas la valeur de l'instance à laquelle elle est appliquée...
qqn peut me donner l'équivalent de ces 2 trucs en Java ? (s'ils existent bien sur !)
Message édité par El_gringo le 30-07-2002 à 18:06:01