Programmation Java 1A - TP20
Héritage (suite)

Médiathèque

Une médiathèque souhaite gérer les livres, CD et cassettes vidéos disponibles au prêt.
Chaque article disponible au prêt possède une cote, servant à le repérer dans la médiathèque (ex : AZ123).

Un livre est caractérisé par son titre, son auteur, son nombre de pages.
Un CD est caractérisé par son titre, son interprète, sa durée.
Une vidéo est caractérisée par son titre, son réalisateur, une liste d'acteurs, et sa durée.

1. Ecrire une classe Article ayant pour attributs protected une chaîne de caractères cote, une chaîne de caractère titre, et un booléen emprunte indiquant si l'article est emprunté (true) ou disponible (false). Ecrire le constructeur, et les accesseurs.

2. Ecrire trois classes Livre, CD, et Video dérivant de la classe Article et permettant de stocker chacun des trois types d'objets de la médiathèque. Ecrire dans ces trois classes les constructeurs et accesseurs de chaque classe, ainsi que les trois méthodes toString() permettant l'affichage des propriétés de chaque article.

3. Ecrire une classe Mediatheque ayant pour attribut un tableau d'Article et un entier nbArticles. Dans cette classe, on écrira les méthodes suivantes : ajouterArticle(Article a), emprunterArticle(String cote), rendreArticle(String cote), getNbArticles(),  listerArticles(), voirDetailArticle(String cote). On pourra aussi écrire une méthode Article getArticle(String cote) qui renvoie l'article de cote donnée.
    On écrira également une méthode main() permettant de tester les différentes méthodes de toutes les classes.

4. Regarder la documentation de la classe ArrayList : à quoi sert cette classe, quelles sont les méthodes que vous allez utiliser pour ajouter ou retirer des articles du "tableau" ? Ecrire une classe MediathequeArrayList ayant pour attribut un objet de type ArrayList. Dans cette classe, on écrira les mêmes méthodes qu'à la question précédente, et une méthode main() permettant de tester les différentes méthodes de toutes les classes.