0% ont trouvé ce document utile (0 vote)
26 vues2 pages

Exercice Java

Transféré par

Ryme Dridi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues2 pages

Exercice Java

Transféré par

Ryme Dridi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation Orientée Objet Java

Application de Gestion d'une Bibliothèque

On veut modéliser la gestion d'une bibliothèque : on définira un certain nombre de classes :


Main, Ouvrage, BiblioTab, Bibliotheque, Periodique, CD, Livre. Les livres auront comme
propriétés : auteur, titre, éditeur ; les périodiques : nom, numéro, périodicité; les Cds : titre, auteur.
De plus tous les ouvrages auront une date d'emprunt (potentiellement nulle), une cote (le numéro
par ordre de création). On implémentera également sur chaque objet une méthode toString()
renvoyant toutes les informations sur l'ouvrage sous forme d'une chaîne de caractères.

La classe BiblioTab permettra de stocker dans une structure les livres (ajout et suppression,
la suppression prenant en argument la cote de l'ouvrage). Elle aura également une méthode
toString() affichant le nombres d'ouvrages, puis chaque ouvrage successivement. La classe
Bibliotheque sera simplement une version abstraite déclarant les mêmes méthodes que BiblioTab
mais sans les implémenter. BiblioTab héritera de Bibliotheque.

La classe Main ne contiendra que la méthode main et testera la bibliothèque en y insérant et


supprimant quelques ouvrages, puis en affichant le contenu de la bibliothèque.

1. Représentez les différentes classes dans un graphe d'héritage. On mettra en évidence pour
chaque classe les méthodes et les champs qu'elle définit, redéfinit ou hérite. On souhaite que
tous les champs soient déclarés privés et que l'on puisse y accéder de l'extérieur que par des
méthodes.
2. Implémentez les classes ci-dessus. Pour la classe BiblioTab on utilisera un tableau de
longueur suffisante (on vérifiera quand même à chaque opération d'insertion que l'on ne
dépasse pas les bornes du tableau). Quel sont les inconvénients de cette méthode?

Dans ce qui suit, on veut implémenter une deuxième version de la bibliothèque, que l'on appellera
BiblioList et qui héritera également de Bibliotheque. Cette nouvelle implémentation utilisera la
classe LinkedList définie dans l'API Java standard.

1. Modifiez le minimum de choses dans la classe Main pour permettre l'utilisation de


BiblioList.
2. En utilisant les méthodes boolean add(Object o) qui permet d'ajouter un objet dans la liste,
boolean remove(Object o), Object get(int index) et int size(), implémentez la classe
BiblioList. Vous trouverez la documentation complète de la classe LinkedList en
http://download.oracle.com/javase/6/docs/api/java/util/LinkedList.html
Vous devrez ajouter au début du fichier BiblioList.java la commande import java.util.* ;

Vous aimerez peut-être aussi