bha je ne vois pas en quoi ça pourrait briser l'encapsulation, quand on fait un get() ou un set() on ne brise pas l'encapsulation. Et ça n'est en rien comparable à une transformation en public. Sauf à l'écriture. Par contre le risque est peut-être là.
Ce n'est pas un accès direct, c'est un appel à une méthode générée (si c'est bien copié sur le truc du c#). En lisant le code on aura du mal à voir la différence.
Ensuite,
Si on veut faire un getter et/ou setter bien specifique (ce n'est plus un bean pur on est d'accord), il sera mélangé dans un code où on aura du getter/setter généré et du getter/setter fait à la main. Donc au niveau de
notre code on fera pour la déclaration
Pour le traitement.
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 public user{ Date naissance; (<--getter setter specifique) String property nom; (<-- getter setter généré) getAge() { // calcul de l'age } setAge(int age) (<-- oui l'exemple est moisi mais j'espère que vous comprenez) { // } }
Je trouve que ça fait brouillon. Surtout que les EDI génèrent super bien tout ça. Contre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 User user =...; system.out.println(user.nom+ " a aujourd'hui " + user.getAge() + " ans");
Partager