Bonjour,
je suis actuellement un tuto sur les classes et les héritages.
On y explique que pour protéger une variable d'une erreur de programmation, celle-ci est déclarée private.
Pour qu'une classe héritée (je ne l'ai pas encore créée) puisse néanmoins avoir accès à la variable sans, pour autant, lever la protection au niveau des utilisateurs, il suffit donc de remplacer private par le mot clé protected.
voici donc mon programme principal :
et voici la classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 package projet3; public class Principal { public static void main(String[] args) { Ville v0=new Ville("Paris",100,"France"); System.out.println(v0.cap); v0.cap="Modif"; System.out.println(v0.cap); } }
Si j'ai bien compris, avec protected, je ne suis donc pas en mesure de modifier les valeurs de v0 à partir de mon programme Principal.
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
17
18
19
20 package projet3; public class Ville { protected String cap, pays; protected int hab; public Ville() { cap="Default Capitale"; hab=0; pays="Default Pays"; } public Ville(String aa, int bb, String cc) { cap=aa; hab=bb; pays=cc; } }
Pourtant, je n'ai aucun mal à changer la valeur de la variable cap, sans faire appel à un mutateur et voici le résultat lorsque je lance programme.
Est ce moi qui n'ai pas compris le principe d'utilisation de protected ?
merci d'avance pour vos explications.
Partager