notions de variables static
Bonjour,
Voici le code d'une classe nommée "CARTE".
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
import java.io.*;
import javax.swing.*;
public class Carte {
int couleur;// couleur de la carte du jeu(carreau, pique,coeur,trèfle)
int figure;// figure de la carte tire de "As" à "Roi"
static String[]nomCouleur = {"pique", "coeur","carreau","trefle"};
static String[]nomFigure = {"AS","deux","trois","quatre","cinq","six","sept","huit","neuf","dix","valet","dame","roi"};
// tableau nomFigure initialisé de éAs" à "Roi"
Carte(int c, int f)
{
this.couleur = c;
this.figure = f;
}
public int getPoint(){
if(this.figure>=10)
{return 10;
}
else
{
return this.figure +1;
}
}// fin de méthode getPoint qui permet de connaître le nombre de pont que rappoete chaque carte
public static Carte choisirCarte()
{
int c = (int) (Math.random()*4);
int f = (int) (Math.random()*13);
return new Carte(c,f);
}
public String afficherCarte()
{
return (nomFigure[figure]+ " de " +nomCouleur[couleur]);
}
}// fin de classe Carte |
Pouvez vous répondre à ces questions concernant ce code :
1-Que change le fait de déclarer les variables [] nomCouleur et []nomFigure en tant que variables statiques.
Le seul endroit où la méthode affichercarte est appelée est la méthode
afficher joueur de la classe joueur
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public void afficherjoueur(){
for(int i =0;i<=nbreTirage-1;i++)
{
this.texte_cartes_tirees=this.texte_cartes_tirees +" "+ tabCarte[i].afficherCarte(); ;
}// fin de for
this.texte_final_joueur = this.texte_final_joueur + "le joueur "+this.nom+ " a obtenu "+ this.totalPoint + " points avec les cartes "+ this.texte_cartes_tirees;
}// fin de méthode afficherJoueur |
2-Si la méthode getPoint était déclarée private, pouvez vous me confirmer qu'elle ne pourrait pas être appelée en dehors de la classe carte
Merci beaucoup de votre aide.
Cordialement.
Nathalie
variable static et instances d'une classe
Bonjour et merci de ces précisions.
Si à un instant t1, j'ai crée une instance carte 1 de la classe carte qui contient les variables statiques de type tableau nomCouleur et nomFigure et qu'après avoir crée carte1 , c'est à dire à un instant t2, je change la valeur de nomCouleur et celle de nomFigure( j'y ajoute un élement par exemple à ces deux tableaux), est ce que, au niveau de Carte1, nomCouleur et nomFigure auront la dernière valeur affectée à ces variables à l'instant t2 ou est ce que ces variables garderont la valeur qui leur a été donnée la première fois à l'instant t1.
Merci encore de votre(vos) réponse(s).
Cordialement.
Nathalie