TP 6: Héritage, Polymorphisme

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

TP 6: Héritage, Polymorphisme

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

Browse all programmation documents

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