:: Enseignements :: Licence :: L3 :: 2007-2008 :: Programmation Objet avec Java ::
[LOGO]

Object, délégation, structure simple, exceptions


Exercice 1 - Comment créer un livre ?

Le but de cet exercise est de définir des objets Book. Nous allons pour cela cr�er la classe Book.
  • son titre (une chaîne de caractère) ;
  • son auteur ;
  • son num�ro ISBN (une chaîne de caractère) ;
  • son prix en euros (un nombre réel).
Ecrire une classe Book dont les attributs sont tout ce qui caract�rise un livre. Dans la classe Book, mettre un constructeur public Book(String title, String author, String isbn, double price) servant à initialiser les attributs des instances de la classe Book (les arguments du constructeur sont respectivement le titre, les auteurs, l'ISBN et le prix).
Comment faire pour construire un objet livre (une instance de la classe Book) ?

Exercice 2 - Comment afficher un livre ?

On aimerait pouvoir afficher les caract�ristiques d'un livre, par le code Java suivant :
      Book book=...
      System.out.println(book);
    
Java sait faire cela, � condition de mettre dans la classe Book une méthode public String toString() retournant une chaîne de caractères, qu'on construit typiquement à partir des attributs de l'objet.
Ecrire cette méthode, pour obtenir par exemple l'affichage suivant :
    Title : Concepts fondamentaux de l'informatique
    Author : Alfred Aho
    ISBN : 2-7117-8689-7
    Price : 40.0
   

Exercice 3 - Une bibliothèque

Une bibliothèque contient des livres. Nous représenterons les bibliothèques par des objets instances de la classe Library qu'il nous faudra écrire. On trouvera en attribut de la classe un tableau de références sur des instances de Book.
On d�finira dans la classe Library :
  1. un attribut permettant de stocker un nombre maximum de livre ainsi qu'un constructeur, qui prend en paramètre le nombre maximum de livres que peut contenir la biblioth�que (sa capacité)
  2. une méthode int capacity() retournant la capacité de la bibliothèque
  3. une méthode void add(Book b) qui ajoute un livre dans la bibliothèque.
    Que doit-on faire si la bibliothèque est pleine ?
  4. une méthode int size() retournant le nombre de livres contenus dans la bibliothèque
  5. une méthode boolean contains(Book book), indiquant si un livre est contenu ou non dans la bibliothèque
  6. une méthode String toString(), qui affiche l'ensemble des livres contenus dans la bibliothèque.
A quoi sert l'annotation java.lang.Override ?
Comment peut-on l'utiliser sur la méthode toString ?


Exercice 4 - Bibliothèque infinie

Ecrire la classe Library2 possédant les mêmes méthodes que Library mais dont la taille de la bibliothèque s'agrandie à la demande.
Utiliser pour cela la classe java.util.ArrayList.
Expliquer la présence de warnings.