Il y a un truc que je n'ai pas compris dans ce cours: Dans le chapitre "Travaillez avec votre objet : les méthodes":
public void setNom(String pNom)
{
nomVille = pNom;
}
/**
* Définit le nom du pays
* @param pPays
* nom du pays
*/
public void setNomPays(String pPays)
{
nomPays = pPays;
}
/**
* Définit le nombre d'habitants
* @param nbre
* nombre d'habitants
*/
public void setNombreHabitant(int nbre)
{
nbreHabitant = nbre;
this.setCategorie();// <couleur nom="vertf">Dans le chapitre "Travaillez avec votre objet : les méthodes"=>Pourquoi ici tu rajoute "this.setCategorie()" et pas avant. 2°) Je ne vois pas trop l'utilité? Merci de me repondre</couleur>
}
d'ailleurs j'ai testé sans mettre le "this.setCategorie();" et ca donne le même resultat que Cysboy. Voici:
public class Ville {
/**
* 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 nbreHabitant;
private char categorie;
/**
* Constructeur par défaut
*/
public Ville(){
System.out.println("Création d'une ville !");
nomVille = "Inconnu";
nomPays = "Inconnu";
nbreHabitant = 0;
}
/**
* Constructeur d'initialisation
* @param pNom
* Nom de la Ville
* @param pNbre
* Nombre d'habitants
* @param pPays
* Nom du pays
*/
public Ville(String pNom, int pNbre, String pPays)
{
System.out.println("Création d'une ville avec des paramètres !");
nomVille = pNom;
nomPays = pPays;
nbreHabitant = pNbre;
}
//*****************************************************************************************
// ACCESSEURS
//*****************************************************************************************
public String getnomV()
{
return nomVille;
}
public String getnomP()
{
return nomPays;
}
public int getnbreH()
{
return nbreHabitant;
}
public void setnomV(String pNom)
{
nomVille=pNom;
}
/**
* Retourne le nom de la ville
* @return le nom de la ville
*/
public String getNom()
{
return nomVille;
}
/**
* Retourne le nom du pays
* @return le nom du pays
*/
public String getNomPays()
{
return nomPays;
}
/**
* Retourne le nombre d'habitants
* @return nombre d'habitants
*/
public int getNombreHabitant()
{
return nbreHabitant;
}
public char getCategorie()
{
return categorie;
}
//*****************************************************************************************
// MUTATEURS
//*****************************************************************************************
/**
* Définit le nom de la ville
* @param pNom
* nom de la ville
*/
public void setNom(String pNom)
{
nomVille = pNom;
}
/**
* Définit le nom du pays
* @param pPays
* nom du pays
*/
public void setNomPays(String pPays)
{
nomPays = pPays;
}
/**
* Définit le nombre d'habitants
* @param nbre
* nombre d'habitants
*/
public void setNombreHabitant(int nbre)
{
nbreHabitant = nbre;
}
//*****************************************************************************************
//METHODES DE CLASSE
//*****************************************************************************************
/**
* 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;
while (i < bornesSuperieures.length && this.nbreHabitant >= bornesSuperieures[i])
i++;
this.categorie = categories[i];
}
/**
* Retourne la description de la ville
* @return description ville
*/
public String decrisToi(){
return "\t"+this.nomVille+" est une ville de "+this.nomPays+", elle comporte : "+this.nbreHabitant+
" => elle est donc de catégorie : "+this.categorie;
}
/**
* Retourne une chaîne de caractères selon le résultat de la comparaison
* @param v1
* objet Ville
* @return comparaison de deux ville
*/
public String comparer(Ville v1){
String str = new String();
if (v1.getNombreHabitant() > this.nbreHabitant)
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;
}
Et voici le résultat sur la consoleavec la classe Principale et la methode main
public class Principale {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Ville V = new Ville("lyon", 654, "france");
Ville V2 = new Ville("lille", 123, "france");
System.out.println(V.comparer(V2));
}
}
Création d'une ville avec des paramètres !
Création d'une ville avec des paramètres !
lyon est une ville plus peuplée que lille
Bon, j'espere que c'est assez clair - je ne suis pas aussi bon que Cysboy, peut être un jour si Dieu le veut-
En gros je n'ai mis nulle part le " this.setcatégorie()".
Si tu peux nous expliquer l'utilité de cette chose
en détail
</span></span> car je ne vois pas son utilité.
Thank you very very very...... much
Regarde dans quoi sert la méthode en question...
Tu compare tes objets... Hors, si tu regardes avec attention, la méthode setCategorie sert à déterminer la catégorie de la ville... Cette donnée sert lorsque tu appelle la methode "decrisToi()"...
Appelles "decrisToi()" dans ton code et tu verras la différence entre nos deux codes.
Langage java:Les variables de classes
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.