Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
poo:definition_des_objets [2017/08/07 20:29]
admin
poo:definition_des_objets [2017/08/07 20:49] (Version actuelle)
admin
Ligne 7: Ligne 7:
   * [[Accesseur]]   * [[Accesseur]]
   * [[Mutateur]]   * [[Mutateur]]
 +
 +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.
  
 <​code>​ <​code>​
 public class Ville { public class Ville {
  
-  //​************* ​  ​VARIABLES ************* +  //​************* ​  ​VARIABLES ​D'​INSTANCE ​************* 
- //​Stocke le nom de notre ville +  //Stocke le nom de notre ville 
-  String nomVille;+  ​private ​String nomVille;
   //Stocke le nom du pays de notre ville   //Stocke le nom du pays de notre ville
-  String nomPays;+  ​private ​String nomPays;
   //Stocke le nombre d'​habitants de notre ville   //Stocke le nombre d'​habitants de notre ville
-  int nbreHabitants;​+  ​private ​int nbreHabitants;​ 
 +   
 +  ​
   ​   ​
-    ​//​************* ​  ​CONSTRUCTEURS ************* +  ​//​************* ​  ​CONSTRUCTEURS ************* 
-    //​Constructeur par défaut +  //​Constructeur par défaut 
-    public Ville(){ +  public Ville(){ 
-    Console.WriteLine("​Création d'une ville !"​); ​          +  Console.WriteLine("​Création d'une ville !"​); ​          
-    nomVille = "​Inconnu";​ +  nomVille = "​Inconnu";​ 
-    nomPays = "​Inconnu";​ +  nomPays = "​Inconnu";​ 
-    nbreHabitants = 0;+  nbreHabitants = 0
 +  this.setCategorie();
   }   }
    
   //​Constructeur avec paramètres   //​Constructeur avec paramètres
-    ​public Ville(String pNom, int pNbre, String pPays)+  ​public Ville(String pNom, int pNbre, String pPays)
   {   {
-    ​Console.WriteLine("​Création d'une ville avec des paramètres !"); +  ​Console.WriteLine("​Création d'une ville avec des paramètres !"); 
-    nomVille = pNom; +  nomVille = pNom; 
-    nomPays = pPays; +  nomPays = pPays; 
-    nbreHabitants = pNbre;+  nbreHabitants = pNbre
 +  this.setCategorie();
   }      }   
           ​           ​
 +  ​
 +  ​
   //​************* ​  ​ACCESSEURS *************   //​************* ​  ​ACCESSEURS *************
     ​     ​
Ligne 55: Ligne 66:
     return nbreHabitants;​     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 ​  ​*************   //​************* ​  ​MUTATEURS ​  ​*************
  
Ligne 74: Ligne 110:
   {   {
     nbreHabitants = 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];​ 
 +  }
 } }
 </​code>​ </​code>​
 +
 +<WRAP center round tip 60%>
 +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.
 +</​WRAP>​
 +