Object, Délégation, Structure simple, exception

Exercice 1 - Comment créer un livre ?

Le but de cet exercice est de définir des objets Book. Nous allons pour cela créer la classe Book.

Écrire 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 celà, à 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.
Écrire 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 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 se passe-t'il 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.
  7. . On souhaite maintenant

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.
Il y aura toujours des warnings.