UNIVERSITE DE CARTHAGE
FACULTE DES SCIENCES DE BIZERTE
DEPARTEMENT
INFORMATIQUE
Classe : SI2
Matière : TP-POO
A-U : 13/14
TP 6: Héritage, Polymorphisme
Exercice:
On souhaite gérer une bibliothèque pouvant contenir différents types d’ouvrages. Une analyse a
permis d’identifier les classes suivantes :
Advertisement
Ouvrage : est caractérisé par un titre, une date de création et un indicateur d’existence (booléen : vrai
si l’ouvrage est disponible dans la bibliothèque et faux s’il est emprunté).
Livre : Un livre est un ouvrage caractérisé par son auteur.
Video : Une vidéo est un ouvrage caractérisé par son éditeur et sa durée.
Chaque ouvrage possède une méthode affiche() qui permet d’afficher son type (Livre ou Vidéo) et ses
caractéristiques.
Bibliotheque : est caractérisée par :
Un ensemble d’ouvrages, où chaque ouvrage est présent en un seul exemplaire. Le nombre maximal
des ouvrages qu’elle peut contenir ainsi que le nombre d’ouvrages actuel.
Cette classe doit offrir les méthodes suivantes :
ajoutOuvrage: qui permet d’ajouter un ouvrage dans le tableau, s’il n’existe pas déjà (la
Advertisement
comparaison doit se faire sur le titre)
getOuvrage: qui prend comme paramètre un titre et retourne l’ouvrage correspondant.
afficheContenu : qui permet d’afficher tous les ouvrages présents dans la bibliothèque.
Une classe test spécifique vous est fournie :
class TestBibliotheque
{
public static void main(String []args)
{
Bibliotheque B=new Bibliotheque();
B.ajoutOuvrage(new Livre("Informatique","10/11/2009",false,"Dupon"));
B.ajoutOuvrage(new Livre("Programmation Java","05/08/2008",false,"Lepetit"));
Advertisement
B.ajoutOuvrage(new Video("Apprendre le
Java","05/08/2008",false,"Multimédia",60));
System.out.println("La bibliothèque contient: ");
B.afficheContenu();
System.out.println("Résultat de la recherche de l'ouvrage 'informatique'");
if(B.getOuvrage("Informatique")==null)
System.out.println("L'ouvrage n'existe pas dans la bibliothèque");
else
{
if(B.getOuvrage("Informatique").getDispo())
System.out.println("L'ouvrage se trouve dans la bibliothèque");
Advertisement
else
System.out.println("L'ouvrage se trouve dans la bibliothèque mais il est
actuellement indisponible");
B.getOuvrage("Informatique").affiche();
}}}
Travail demandé : Ecrire en Java les classes décrites ci-dessus. Implémenter toutes les méthodes
nécessaires même si elles ne sont pas mentionnées.
1/1