====== Définition des objets ====== * [[Structure de base]] * [[Constructeur]] * [[Destructeur]] * [[Accesseur]] * [[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. 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.