1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
|
package Mypackage1;
public class Capitale extends Ville
{
private String president;
//constructeur par defaut
public Capitale()
{
//ce mot clé appelle le constructeur de la classe mère
super();
president="aucun";
}
//Constructeur d'initialisation de capitale
public Capitale(String nom,int hab,String pays,String president)
{
//super(nom,hab,pays);
this.nomVille=nom;
this.nomPays=pays;
this.nbreHabitant=hab;
this.president=president;
}
//Description d'une capitale
public String decrisToi()
{
String str=super.decrisToi()+"\n \t==>>"+this.president+"est son president";
return str;
}
//return le nom du president
public String getPresident()
{
return president;
}
//definit le nom du president
public void setPresident(String president)
{
this.president=president;
}
}
package Mypackage1;
public class Ville
{
/*variable publiques qui comptent les instance*/
public static int nbreInstance=0;
/*variable privée qui comptera aussi les instances*/
protected static int nbreInstanceBis=0;
/*Stocke le nom de notre ville*/
protected String nomVille;
/*Stocke le nom du pays de notre ville*/
protected String nomPays;
/*Stocke le nombre d'habitants de notre ville*/
protected int nbreHabitant;
//Stocke le type de notre ville
protected char categorie;
//Constructeur par défaut*/
public Ville()
{
//on incremente nos variables à chaque appel aux constructeurs
nbreInstance++;
nbreInstanceBis++;
nomVille = "Inconnu";
nomPays = "Inconnu";
nbreHabitant=0;
this.setCategorie();
}
//constructeur d'initialisation
public Ville(String pNom,String pPays,int pNbre)
{
//on incremente nos variables à chaque appel aux constructeurs
nbreInstance++;
nbreInstanceBis++;
nomVille=pNom;
nomPays=pPays;
nbreHabitant=pNbre;
this.setCategorie();
}
//********************************************************
// ACCESSEURS
//********************************************************
public static int getNombreInstanceBis()
{
return nbreInstanceBis;
}
//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 getNombreHabitant()
{
return nbreHabitant;
}
//Retourne la categorie de la ville
public char getCategorie()
{
return categorie;
}
//********************************************************
// MUTATEURS
//********************************************************
//Definit le nom de la ville
public void setNom(String pNom)
{
nomVille=pNom;
}
//Definit le nom du pays
public void setNomPays(String pPays)
{
nomPays=pPays;
}
//Definit le nombre d'habitants
public void setNombreHabitant(int nbre)
{
nbreHabitant=nbre;
this.setCategorie();
}
//********************************************************
// METHODES DE CLASSE
//********************************************************
//Definit la categorie de la ville
private void setCategorie()
{
int bornesSuperieurs[]={0,1000,10000,100000,500000,1000000,5000000,10000000};
char categories[]={'?','A','B','C','D','E','F','G','H'};
int i=0;
while(i<bornesSuperieurs.length && this.nbreHabitant>=bornesSuperieurs[i])
i++;
this.categorie=categories[i];
}
//Retourne la description de la ville
public String decrisToi()
{
return "\t"+this.nomVille+" est une ville de "+this.nomPays+",elle comporte:"+this.nbreHabitant+"=>elle est donc de categorie:"+this.categorie;
}
//Retourne une chaîne de caracteres selon le resultat de la comparaison
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;
}
}
package Mypackage1;
public class Sdz1
{
public static void main(String[] args)
{
// def d'un tableau de ville null
Ville[]tableau=new Ville[6];
//definition d'un tableau de noms de villes et d'un tableau de nombres d'habitants
String[] tab={"Marseille","Lille","Caen","Lyon","Paris","Nantes"};
int[] tab2={123456,78456,654987,75832165,1594,213};
//les 3 premiers éléments du tableau seront des Villes,et le reste,des Capitales
for(int i=0;i<6;i++)
{
if(i<3)
{
Ville V=new Ville(tab[i],tab2[i],"france");
tableau[i]=V;
}
else
{
Capitale C=new Capitale(tab[i],tab2[i],"france","Sarko");
tableau[i]=C;
}
}
//il ne nous reste plus qu'a décrire tout notre tableau
for(Ville v:tableau)
{
System.out.println(v.decrisToi()+"\n");
}
}
} |
Partager