====== 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.