Vous êtes sur la page 1sur 2

TP1 Programmation JAVA

On souhaite modéliser la gestion d'une médiathèque : on spécifiera un certain nombre


de classes : Principale, Adhérent, Œuvre, Document, DVD, CD, Roman, Magasine.

Les œuvres disponibles dans une médiathèque sont des Documents, des CD ou des
DVD.

- Chaque Œuvre est repéré par un code dans la médiathèque. L’attribut code est
un objet de type Reference. Cet objet a un attribut ref de type int.
- Les Documents ont comme propriétés: code, auteur, titre et nombre de
pages et possèdent un genre.
- Les DVD ont comme propriétés code, titre et un genre
- Les CDs ont comme propriétés code, titre et un genre

De plus tous les œuvres auront une date d'emprunt (String) et un nombre des œuvres

1. Représenter la classe Reference ayant comme propriété réf (de type int).
2. Représenter la classe de base Œuvre ainsi que le constructeur initialisant tous
les attributs.
3. Implémenter la méthode toString() renvoyant toutes les informations sur les
œuvres sous forme d'une chaîne de caractères , et la méthode getNbOeuvre()
retournant le nombre des objets œuvres crées, et la méthode setNbOeuvre(
int x)
4. Représenter la méthode abstraite getTypeŒuvre () qui renvoie la catégorie de
l’œuvre (exemple : « Document » ou « CD » ou « Roman » …).
5. Définir les différentes classes selon une hiérarchie particulière. Définissez
pour chacune un constructeur permettant d’initialiser toutes ses variables
d’instances respectives. 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.

Indication : Les classes Roman et Magasine étendent la classe Document.


On demande de réaliser et d’utiliser l’interface IEmpruntable et la classe Adhérent
suivantes :

- L’interface IEmpruntable contient la méthode :


 boolean emprunter(Œuvre o) qui permet de vérifier si un adhérent a
emprunté un œuvre (en comparant les références des deux objets).
 void afficher() qui permet d’afficher tous les œuvres empruntés par
l’Adhérent

- La classe Adhérent a une collection d’œuvres qui a emprunté (Maximum


douze œuvres). Il s’agit d’une collection polymorphique d’œuvres. Elle
contient les méthodes suivantes :
 void ajouterOeuvre(Oeuvre) permettant d’ajouter un œuvre (On doit
vérifier si cet œuvre n’a pas été emprunté),
 int getNbOeuvre() permettant de retourner le nombre d’œuvres
éventuel
 De plus, cette classe Adherent implémente l’interface IEmpruntable.

- Représenter la classe Principale qui permet de tester votre programme.


Indication : Traiter le cas où un adhérent a ajouté un œuvre déjà emprunté

Exemple output :
Oeuvre 101 Science Fiction déja emprunté !!
**************
100__Une vie, Littéraire, Guy de Maupassant, 150 pages, Roman
101__Science Fiction, Scientifique, Clark, 20 pages, Magasine
125__Madame Bovary, Littéraire, Flaubert, 320 pages, Roman
129__True Detective, Policier, Pizolatto, 55 pages, Document
le nb d'oeuvres = 4