Quel est l'équivalent d'un enum [C --> Java] - Java - Programmation
Marsh Posté le 13-06-2002 à 14:20:34
C => langage imperatif
Java => langage objet
donc si tu fais du java tu creees une classe
Marsh Posté le 13-06-2002 à 14:23:25
DLR a écrit a écrit : C => langage imperatif Java => langage objet donc si tu fais du java tu creees une classe |
c pas parce que c objet qu'on créé des classes tout l'temps à tout va, sans réfléchir...
Marsh Posté le 13-06-2002 à 14:24:36
el_gringo a écrit a écrit : c pas parce que c objet qu'on créé des classes tout l'temps à tout va, sans réfléchir... |
euh t'es gentil mais faut pas pousser qd meme! C'est un langauge orienté objet donc tu travailles avec des objets. Et un objet est défini par sa classe.
Donc il faut passer par un objet, DLR a raison.
Marsh Posté le 13-06-2002 à 14:25:32
---> Enfin du moins une partie d'objet. Je ne pense pas que DLR voulait que tu crées un objet rien que pour ça ..
Marsh Posté le 13-06-2002 à 14:25:51
DarkLord a écrit a écrit : euh t'es gentil mais faut pas pousser qd meme! C'est un langauge orienté objet donc tu travailles avec des objets. Et un objet est défini par sa classe. Donc il faut passer par un objet, DLR a raison. |
SmallTalk RuLeZ
Marsh Posté le 13-06-2002 à 14:27:37
DarkLord a écrit a écrit : ---> Enfin du moins une partie d'objet. Je ne pense pas que DLR voulait que tu crées un objet rien que pour ça .. |
moi je ferai pas comme il fait mais c son choix
enum existe pas en java donc forcement...
taka faire une interface 'enum'
Marsh Posté le 13-06-2002 à 14:27:59
DarkLord a écrit a écrit : ---> Enfin du moins une partie d'objet. Je ne pense pas que DLR voulait que tu crées un objet rien que pour ça .. |
Comment ça une "partie" d'objet !?
Marsh Posté le 13-06-2002 à 14:32:23
el_gringo a écrit a écrit : Comment ça une "partie" d'objet !? |
bin je connais pas enum en C mais un objet peut offrir cette foncionnalité tout en offrant d'autres fonctionnalités.
Enfin bref ...De toutes façons que veux tu faire d'autre qu'un objet ?
Marsh Posté le 13-06-2002 à 14:34:33
DarkLord a écrit a écrit : bin je connais pas enum en C mais un objet peut offrir cette foncionnalité tout en offrant d'autres fonctionnalités. Enfin bref ...De toutes façons que veux tu faire d'autre qu'un objet ? |
Bah je savais pas justement ! C bien pour ça que j'posais la question !
Pour une fois, le Java est moins pratique que le C++. Une fois n'est pas coutume.
Marsh Posté le 13-06-2002 à 14:37:56
el_gringo a écrit a écrit : Bah je savais pas justement ! C bien pour ça que j'posais la question ! Pour une fois, le Java est moins pratique que le C++. Une fois n'est pas coutume. |
question de point de vue, car C++ c mi objet mi imperatif
si tu veux faire du vrai objet tu tests smallTalk tu va voir c marrant...
Java c entre le C++ et smalltalk
Code :
|
Marsh Posté le 13-06-2002 à 14:38:06
il y a une différence entre pratique et rigoureux ...
Marsh Posté le 13-06-2002 à 14:42:07
DarkLord a écrit a écrit : il y a une différence entre pratique et rigoureux ... |
chuuut!
Marsh Posté le 13-06-2002 à 15:04:09
DarkLord a écrit a écrit : il y a une différence entre pratique et rigoureux ... |
c rigoureux un enum.
Imagine que toi c une facilité d'écriture pour créer une classe que Mister dlr à faite. (merci au passage).
Marsh Posté le 13-06-2002 à 15:06:24
el_gringo a écrit a écrit : c rigoureux un enum. Imagine que toi c une facilité d'écriture pour créer une classe que Mister dlr à faite. (merci au passage). |
de rien, fais gaffe g fait un edit sur les static int g rajoute le final
public static final int = constante publique de classe comme une valeur enum en fait
Marsh Posté le 13-06-2002 à 15:19:44
el_gringo a écrit a écrit : c rigoureux un enum. Imagine que toi c une facilité d'écriture pour créer une classe que Mister dlr à faite. (merci au passage). |
ct une boutade je rigolais, promis
Marsh Posté le 13-06-2002 à 15:23:27
legreg a écrit a écrit : on peut faire de l'objet sans classes eheh LeGreg |
en C oui, mais en java c un peu cho non?
XDR RPC RuLeZ?
Marsh Posté le 13-06-2002 à 15:43:18
DLR_Ninja a écrit a écrit : en C oui, mais en java c un peu cho non? |
je ne pensais pas au java
mais plus au javascript
(meme si ca ne doit pas etre le seul)
exemple en javascript tu ajoutes une nouvelle methode a un objet a la volee
this.newMethod = maMethode;
(et this est passé implicitement a maMethode)
LeGreg
Marsh Posté le 13-06-2002 à 18:40:12
Si tu veux dte faire un truc bien objet, tu peux utiliser un singleton (ou plutot un triteton en l'occurence) :
Code :
|
et tu l'utilises comme ca :
Code :
|
Marsh Posté le 14-06-2002 à 08:36:28
benou a écrit a écrit : Si tu veux dte faire un truc bien objet, tu peux utiliser un singleton (ou plutot un triteton en l'occurence) :
|
Haa... ça, ça me plait bien !
Merci Benou.
Marsh Posté le 14-06-2002 à 08:47:27
yeas benou j'aime bien ton code c'est bien propre
Marsh Posté le 14-06-2002 à 09:13:47
benou a écrit a écrit : merci |
non je viens encore de relire c'est vraiment très astucieux comme système
Moi j'utilise des constantes mais bon
Code :
|
etc.
Marsh Posté le 14-06-2002 à 09:33:05
ouais, les static final int ca sert à ca aussi ... l'avantage des objets, c'est que tu peux par la suite les "améliorer". Par exemple, mettre un toString plus explicite, ou ajouter des méthodes de comparaison de droits, etc ...
d'ailleurs, je fais une petite rectification à mon exemple d'utilisation : il vaut mieux utiliser le equals plutot que le ==. Pour le moment, ca revient exactement au même, mais ca permettra par la suite de redefinir le equals si la classe Right est amenée à changer...
Code :
|
Marsh Posté le 17-06-2002 à 13:34:11
De plus, l'avantage d'utiliser une classe avec un constructeur privé, c'est que cela interdit à l'utilisateur de créer ses propres instances de cette classe, donc d'enrichir l'enum en douce...
Marsh Posté le 13-06-2002 à 14:18:08
En C, il existe enum.
enum, c'est la possibilité de définir un type et des entier constants en même temps. Je m'explique.
Là, je veut gérer des droits d'accès pour une classe "Utilisateur".
En C++, j'aurai fait:
ça, ça défini le type "rights", qui peut prendre les 3 valeurs kAll, kRead, et kReadWrite (ce sont en fait des entier constants, qui valent respectivement 0,1, et 2, ms on s'en fout).
C vachement pratique, parce que, du coup, j'aurai mis "rights droitUtilisateur" comme membre privé de ma classe Utilisateur.
et j'aurai pu mettre les accèsseurs:
C propre, c clean. J'aime.
Mais en java, comme je peux faire pr faire un truc équivalent (sans non plus créer une classe "Rights", ça vaut pas le coup) ?