Partage
  • Partager sur Facebook
  • Partager sur Twitter

Langage java:Les variables de classes

    23 octobre 2008 à 12:59:24

    Il y a un truc que je n'ai pas compris dans ce cours: Dans le chapitre "Travaillez avec votre objet : les méthodes":

    public void setNom(String pNom)
    {
    nomVille = pNom;
    }
    
    /**
    * Définit le nom du pays
    * @param pPays
    * nom du pays
    */
    public void setNomPays(String pPays)
    {
    nomPays = pPays;
    }
    
    /**
    * Définit le nombre d'habitants
    * @param nbre
    * nombre d'habitants
    */
    public void setNombreHabitant(int nbre)
    {
    nbreHabitant = nbre;
    this.setCategorie();// <couleur nom="vertf">Dans le chapitre "Travaillez avec votre objet : les méthodes"=>Pourquoi ici tu rajoute "this.setCategorie()" et pas avant. 2°) Je ne vois pas trop l'utilité? Merci de me repondre</couleur>
    }
    



    d'ailleurs j'ai testé sans mettre le "this.setCategorie();" et ca donne le même resultat que Cysboy. Voici:

    public class Ville {
    
    /**
    * Stocke le nom de notre ville
    */
    private String nomVille;
    /**
    * Stocke le nom du pays de notre ville
    */
    private String nomPays;
    /**
    * Stocke le nombre d'habitants de notre ville
    */
    private int nbreHabitant;
    
    private char categorie;
    /**
    * Constructeur par défaut
    */
    public Ville(){
    System.out.println("Création d'une ville !"); 
    nomVille = "Inconnu";
    nomPays = "Inconnu";
    nbreHabitant = 0;
    }
    /**
    * Constructeur d'initialisation
    * @param pNom 
    * Nom de la Ville
    * @param pNbre
    * Nombre d'habitants
    * @param pPays
    * Nom du pays
    */
    public Ville(String pNom, int pNbre, String pPays)
    {
    System.out.println("Création d'une ville avec des paramètres !"); 
    nomVille = pNom;
    nomPays = pPays;
    nbreHabitant = pNbre;
    }
    
    
    //*****************************************************************************************
    // ACCESSEURS
    //*****************************************************************************************
    
    public String getnomV()
    {
    return nomVille;
    }
    public String getnomP()
    {
    return nomPays;
    }
    public int getnbreH()
    {
    return nbreHabitant; 
    }
    
    
    public void setnomV(String pNom)
    {
    nomVille=pNom; 
    }
    
    
    
    /**
    * Retourne le nom de la ville
    * @return le nom de la ville
    */
    public String getNom()
    {
    return nomVille;
    }
    
    /**
    * Retourne le nom du pays
    * @return le nom du pays
    */
    public String getNomPays()
    {
    return nomPays;
    }
    
    /**
    * Retourne le nombre d'habitants
    * @return nombre d'habitants
    */
    public int getNombreHabitant()
    {
    return nbreHabitant;
    }
    
    public char getCategorie()
    {
    return categorie;
    } 
    
    
    
    
    //*****************************************************************************************
    // MUTATEURS
    //*****************************************************************************************
    
    /**
    * Définit le nom de la ville
    * @param pNom
    * nom de la ville
    */
    public void setNom(String pNom)
    {
    nomVille = pNom;
    }
    
    /**
    * Définit le nom du pays
    * @param pPays
    * nom du pays
    */
    public void setNomPays(String pPays)
    {
    nomPays = pPays;
    }
    
    /**
    * Définit le nombre d'habitants
    * @param nbre
    * nombre d'habitants
    */
    public void setNombreHabitant(int nbre)
    {
    nbreHabitant = nbre;
    }
    
    
    
    
    
    
    
    //*****************************************************************************************
    //METHODES DE CLASSE
    //*****************************************************************************************
    
    
    
    /**
    * Définit la catégorie de la ville
    */
    private void setCategorie() {
    
    int bornesSuperieures[] = {0, 1000, 10000, 100000, 500000, 1000000, 5000000, 10000000};
    char categories[] = {'?', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'};
    
    int i = 0;
    while (i < bornesSuperieures.length && this.nbreHabitant >= bornesSuperieures[i])
    i++;
    
    this.categorie = categories[i];
    
    
    }
    
    /**
    * Retourne la description de la ville
    * @return description ville
    */
    public String decrisToi(){
    return "\t"+this.nomVille+" est une ville de "+this.nomPays+", elle comporte : "+this.nbreHabitant+
    " => elle est donc de catégorie : "+this.categorie;
    }
    
    /**
    * Retourne une chaîne de caractères selon le résultat de la comparaison
    * @param v1
    * objet Ville
    * @return comparaison de deux ville
    */
    public String comparer(Ville v1){
    String str = new String();
    
    if (v1.getNombreHabitant() > this.nbreHabitant)
    str = v1.getNom()+" est une ville plus peuplée que "+this.nomVille;
    
    else
    str = this.nomVille+" est une ville plus peuplée que "+v1.getNom();
    
    return str;
    
    }
    



    Et voici le résultat sur la consoleavec la classe Principale et la methode main

    public class Principale {
    
    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    
    
    Ville V = new Ville("lyon", 654, "france");
    Ville V2 = new Ville("lille", 123, "france");
    
    System.out.println(V.comparer(V2));
    
    }
    }
    



    Création d'une ville avec des paramètres !
    Création d'une ville avec des paramètres !
    lyon est une ville plus peuplée que lille


    Bon, j'espere que c'est assez clair - je ne suis pas aussi bon que Cysboy, peut être un jour si Dieu le veut-
    En gros je n'ai mis nulle part le " this.setcatégorie()".
    Si tu peux nous expliquer l'utilité de cette chose

    en détail

    </span></span> car je ne vois pas son utilité.
    Thank you very very very...... much
    • Partager sur Facebook
    • Partager sur Twitter
      23 octobre 2008 à 13:10:44

      Regarde dans quoi sert la méthode en question...
      Tu compare tes objets... Hors, si tu regardes avec attention, la méthode setCategorie sert à déterminer la catégorie de la ville... Cette donnée sert lorsque tu appelle la methode "decrisToi()"...
      Appelles "decrisToi()" dans ton code et tu verras la différence entre nos deux codes. :)
      • Partager sur Facebook
      • Partager sur Twitter

      Langage java:Les variables de classes

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown