En regardant nos classes
Book,
Comic,
CompactDisc et
DigitalVideoDisc, on se rend compte que les méthodes
getTitle(),
getPrice(), et
getReducedPrice(double percent) sont identiques (enfin, normalement, sinon, vérifiez que vous vous êtes pas plantés !). On aimerait que le contenu de ces méthodes soit stocké "plus haut", dans une classe abstraite
AbstractMediaBuyable, de même que les méthodes
setTitle(String title) et
setPrice(double price).
Il vous est donc demandé :
- de creer la classe abstraite AbstractMediaBuyable
- de modifier Book, Comic, CompactDisc et DigitalVideoDisc en conséquence pour l'utiliser.
Exercice 2 - Classe interne static
On souhaite que que nos livres puissent contenir des chapitres. On peut se faire la reflexion qu'une classe Chapter n'a de sens que pour la classe Book. Pour cet exercice vous allez donc :
- Creer la classe Book.Chapter
- Faire en sorte que la classe Book puisse contenir un certain nombre de chapitres, qui peuvent être ajoutés, et accessibles par des moyens appropriés.
Exercice 3 - Generics
On aimerait que la classe
Book puisse avoir une capacité de chapitres illimitée. On ne va pas s'amuser a recoder une deuxième classe
LinkedLink à chaque fois qu'on à besoin de lister un nouveau type d'objet. On va donc plutot faire en sorte de rendre
LinkedLink générique, afin de pouvoir lister les objets de notre choix.
- Dans un premier temps, modifiez la classe LinkedLink pour qu'elle puisse être adaptée a n'importe quel objet
- Modifiez ensuite en concéquence les classes Book et Library
© Université de Marne-la-Vallée