Différences
Ci-dessous, les différences entre deux révisions de la page.
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> | ||
+ | |||