:: Enseignements :: IMAC :: 2eme année :: 2008-2009 :: Programmation Objet avec Java ::
[LOGO]

Classes abstraites, classes internes, generics


Exercice 1 - Classe abstraite

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é :
  1. de creer la classe abstraite AbstractMediaBuyable
  2. 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 :
  1. Creer la classe Book.Chapter
  2. 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.
  1. Dans un premier temps, modifiez la classe LinkedLink pour qu'elle puisse être adaptée a n'importe quel objet
  2. Modifiez ensuite en concéquence les classes Book et Library