1 pièce(s) jointe(s)
Problème d'utilisation du mot clé "protected"
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 :
Code:
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);
}
} |
et voici la classe :
Code:
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;
}
} |
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.
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.
Pièce jointe 162105
Est ce moi qui n'ai pas compris le principe d'utilisation de protected ?
merci d'avance pour vos explications.