Classes abstraites, Interfaces

Faculté des Sciences de Bizerte
Page 1 sur 2Lecteur de document UniversityLib

Classes abstraites, Interfaces

Faculté des Sciences de Bizerte · Object-Oriented Programming (OOP) · lab

Voir tous les documents en programmation

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