UNIVERSITE DE CARTHAGE
FACULTE DES SCIENCES DE BIZERTE
DEPARTEMENT
INFORMATIQUE
Classe : SI2
Matière : TP-POO
A-U : 13/14
TP 7: Classes abstraites, Interfaces
Exercice:
Il s’agit de compléter le programme suivant :
class Test {
public static void main(String []args)
{
Son []listeSons= new Son[2];
Mammifere [] listeMammiferes= new Mammifere[2];
Publicité
Homme h= new Homme("Ali","Bonjour",20, false);
Chien ch=new Chien("Snoopy","Wouah!",2,"Caniches");
listeSons[0]=h;
listeSons[1]=ch;
listeMammiferes[0]=h;
listeMammiferes[1]=ch;
for(int i=0;i<listeSons.length;i++)
{
listeSons[i].parle();//la méthode parle est polymorphe
listeMammiferes[i].vitesse();//la méthode vitesse est polymorphe
}
}//fin main
}//fin Test
interface Son
{
Publicité
void parle();
}
abstract class Mammifere implements Son
{
//Attributs
String nom, son;
int age;
//Constructeur
Mammifere(String nom, String son,int age)
{
this.nom=nom;
this.son=son;
this.age=age;
}
//Méthode parle affiche le son d'un mammifère
Publicité
public void parle()
{
System.out.println(son+this);
}
//Méthode abstraite vitesse
abstract void vitesse();
//...à compléter
}//fin Mammifere
1/2
class Homme extends Mammifere
{
boolean marie;
//...à compléter
}//fin Homme
class Chien extends Mammifere
Publicité
{
String race;
//...à compléter
}//fin Chien
A l’exécution du Test on obtient à l’écran :
Bonjour mon nom est Ali j'ai 20 ans je suis célibataire
Je cours à une vitesse de 20Km/h
Wouah! mon nom est Snoopy j'ai 2 ans j'appartiens à la race des Caniches
Je cours à une vitesse de 30Km/h
2/2