bonjour,existe t il un type struct en java ? Dans ma classe jframe je voudrais en effet rajouter un attribut "parametresdelajframe" de type struct; exemple
Code:
1
2 parametresdelajframe.datedebut = "20061212" parametresdelajframe.temperature = 11
Version imprimable
bonjour,existe t il un type struct en java ? Dans ma classe jframe je voudrais en effet rajouter un attribut "parametresdelajframe" de type struct; exemple
Code:
1
2 parametresdelajframe.datedebut = "20061212" parametresdelajframe.temperature = 11
Bah qu'est ce qui t'empeche de faire ca :
Code:
1
2
3
4
5
6
7
8
9 public class MaStruct { public String datedebug; public long temperature; }
Tu peux créer une classe privée propre à ta classe qui sera un pseudo struct de C comme le montre Hikage.
Lorsque l'on attaque java, il faut (re)voir les concepts de la programmation orientée objet :
- Notion de classe, encapsulation, héritage, polymorphisme
Le principe normalement est plutôt de mettre
Les attributs doivent être privés du fait qu'il font partie intégrante de l'objet.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public Class Fen extends JFrame{ private String dateDebut; public Fen(){ dateDebut="...."; } } public void setDate(String date){ dateDebut=date; } public String getDate(){ return dateDebut; }
Tu peux tout a fait creer des membres publiques quand tu crees une classe qui te sert juste a transmettre des informations. Cela est generalement vrai pour des classes internes ou des classes publiques et statiques. D'autant plus qu'ecrire :
ou declare dateDebut public est equivalent. Tu exposes dateDebut publiquement a l'aide du mutateur et de l'accesseur. C'est vrai que les membres doivent normalement etre prives (encapsulation) et meme si possible finaux (et encore mieux rendre toute la classe immuable). On ecrit souvent des mutateurs et des accesseurs a tort et a travers alors que l'on peut facilement s'en passer dans de nombreux cas.Code:
1
2
3
4
5
6
7 public void setDate(String date){ dateDebut=date; } public String getDate(){ return dateDebut; }
Bref, de la bonne programmation orientee objet ce n'est pas seulement dire "membre prive + get/set et hop c'est bon" :)
Donc un peu la classe qu'il a donné comme exemple (publique)... non? :lol:Citation:
Envoyé par Gfx
hop c'est bon :arrow:Citation:
Envoyé par Gfx
Diable je me suis mal exprime. Deja j'ai dit publique ET statique, ensuite je voulais dire interne, publique et statique :)
Ah ok merci pour l'info!Citation:
Envoyé par Gfx
Donc ce n'est que dans ce cas qu'il est obligé de définir des attributs private lié à des get/set?... Pourquoi?...
Je m'étends trop peut-être....
Rien de ce que nous avons dit ici est obligatoire :)
Non mais je voulais dire... Pour suivre les recommendations...
Ref à
Citation:
Envoyé par Gfx