Définition des objets

On a plusieurs types de méthodes dans un objet :

  • les constructeurs → méthodes servant à créer des objets ;
  • les accesseurs → méthodes servant à accéder aux données des objets ;
  • les méthodes d'instance → méthodes servant à la gestion des objets.
public class Ville {

  //*************   VARIABLES D'INSTANCE *************
  //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 nbreHabitants;
  
  
  
  //*************   CONSTRUCTEURS *************
  //Constructeur par défaut
  public Ville(){
  Console.WriteLine("Création d'une ville !");          
  nomVille = "Inconnu";
  nomPays = "Inconnu";
  nbreHabitants = 0;
  this.setCategorie();
  }
 
  //Constructeur avec paramètres
  public Ville(String pNom, int pNbre, String pPays)
  {
  Console.WriteLine("Création d'une ville avec des paramètres !");
  nomVille = pNom;
  nomPays = pPays;
  nbreHabitants = pNbre;
  this.setCategorie();
  }   
          
  
  
  //*************   ACCESSEURS *************
    
  //Retourne le nom de la ville
  public String getNom()  {  
    return nomVille;
  }

  //Retourne le nom du pays
  public String getNomPays()
  {
    return nomPays;
  }

  // Retourne le nombre d'habitants
  public int getNombreHabitants()
  {
    return nbreHabitants;
  } 
  
  //Retourne la catégorie de la ville
  public char getCategorie()
  {
    return categorie;
  }
  
  //Retourne la description de la ville
  public String decrisToi(){
    return "\t"+this.nomVille+" est une ville de "+this.nomPays+ ", elle comporte : "+this.nbreHabitants+" habitant(s) => elle est donc de catégorie : "+this.categorie;
  }

  //Retourne une chaîne de caractères selon le résultat de la comparaison
  public String comparer(Ville v1){
    String str = new String();

    if (v1.getNombreHabitants() > this.nbreHabitants)
      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;
 


  //*************   MUTATEURS   *************

  //Définit le nom de la ville
  public void setNom(String pNom)
  {
    nomVille = pNom;
  }

  //Définit le nom du pays
  public void setNomPays(String pPays)
  {
    nomPays = pPays;
  }

  //Définit le nombre d'habitants
  public void setNombreHabitants(int nbre)
  {
    nbreHabitants = nbre;
  } 
  
  //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;
    //Tant que l'on ne dépasse pas le tableau (éviter d'être hors index) et que le nombre d'habitants de la ville est supérieur à la borne actuelle.
    while (i < bornesSuperieures.length && this.nbreHabitants > bornesSuperieures[i])
      i++;

    this.categorie = categories[i];
  }
}

Pour créer des propriétés et les accesseurs et mutateurs associé d'un objet en C“, tapez PropFull puis 2 fois sur la touche Tabulation.