Objet, Objet et Objet
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.
-
son titre (une chaîne de caractères) ;
-
son auteur ;
-
son numéro ISBN (une chaîne de caractères) ;
-
son prix en euros (un nombre réel).
É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 :
-
un constructeur, qui prend en paramètre le nombre maximum
de livres que peut contenir la bibliothèque (sa capacité) ;
-
une méthode int capacity() retournant la capacité
de la bibliothèque ;
-
une méthode void add(Book b) qui ajoute un
livre dans la bibliothèque ;
-
une méthode int size() retournant
le nombre de livres contenus dans la bibliothèque ;
-
une méthode public String toString(),
qui affiche l'ensemble des livres contenus dans la bibliothèque.
Rémi Forax - Université de Marne La Vallée