0 ratings 0% found this document useful (0 votes) 4 views 4 pages Programmation Java
The document outlines an exam for a Java programming course, covering concepts such as class definitions, method overriding, and library management. It includes exercises that require students to define classes for managing library items and implement methods for borrowing and displaying books and discs. The document emphasizes the importance of understanding object-oriented programming principles in Java.
AI-enhanced title and description
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here .
Available Formats
Download as PDF or read online on Scribd
Go to previous items Go to next items
Maitre eer
‘atiére: Programmation Java Date 1 04/01/2023
_ [Sede matitrer 05 Durée: 1h 30
* [easel
seignant Responsable:ibtissem Hadj Al Nombre de pag
‘Documents non autorisés:
[ Classe :LSLAD
Examen
Exercice 1
Qn considere |
es définitio i
class ee ns de classes suivantes
void #(A 0) {
‘[Link]("void f(A 0) dans AY);
?
class B extends A (
void (A 0) {
‘[Link]("void #(A 0) dans 8°);
?
© Question 1 : qu'affiche le fragment de programme suivant ?
public static void main (string args{])
{ Aa=new A);
‘A ab = new B();
Bb = new B();
a.f(a); a-f(ab);_ a.f(b);
ab.f(a)5 ab.f(ab); ab.#(b);
b.f(a); b.f(10); b.#(b)5
¢ Question 2 : On ajoute maintenant 4 la classe B 1a méthode suivante
void (B 0) {
‘[Link](“void #(B 0) dans 8");
}
main de la question 1 ?
# Question 3 : On ajoute finalement a la classe A la méthode suivante
void #(B 0) { 5
[Link](“void #(8'0) dans A");
}
rain de la question 1 ?
1/4
SOF ee a os)
sniversitaire 2022 ae
année Unite sion Principale
Est-ce une redéfinition ou une surcharge ? Quiaffiche alors le fragment de programme dans la méthode:
3st-ce une redéfinition ou une surcharge ? Qu’affiche alors le fragment de programme dans la méthode“Année Universitaire 2022 =;
:
at me Sesion Fe
ae
Exercice 2:
Gestion du prét dans une bibliotheque
(On suppose que le fond documentaire dune bibliothéque est composé d’ouvrages dt sont des livres
bleme est de modéliser la
‘ou des disques (livres enregistrés sur des CD ou des DVD). Le but de ce prol
gestion de cette bibliothéque pour I’emprunt des ouvrages
Partie I
Dans cette partie on ne fait pas de différence entre un livre et un disque.
1. Définir une classe nommée « Ouvrage » pour modéliser les ouvrages. Elle posséde :
~ Au moins trois attributs privés de type String a savoir :
© titre : pour mémoriser le litre de l’ouvrage
auteur : pour mémoriser le nom du premier auteur
code : pour identifier de maniére unique chaque ouvrage, Le code est composé d’un numéro
auteur ;
qui correspond a ordre de eréation de louvrage suivi de toutes les lettres du nom de I
ou de la chaine "?" si le nom de I’auteur est la chaine vide.
- Un constructeur pour créer et initialiser tous les attributs d'un objet de type « Ouvrage ».
~ Au moins les méthodes suivantes (en cas de besoin, vous rajoutez d’autres méthodes)
© public String getCode(); // Retourne le code de l’ouvrage
© public String toString() ;// Retourne la chaine : titre+"-- "+code
2, Définir une classe nommée « Bibliotheque » pour modéliser la bibliotheque. Elle posséde
- deux attributs de type tableau de Ouvrage a savoir
lesOuvrages : pour mémoriser tous ouvrages de la bibliothéque.
© ouvragesEmpruntes : pour mémoriser les ouvrages empruntés.
- deux attributs privés de type entier a savoir :
¢ nbOuvrages qui désigne le nombre d’ouvrages. Par défaut, il est initialisé & 0
© nbOuvragesEmp qui désigne le nombre d’ouvrages empruntés.
- un constructeur pour créer et initialiser tous les attributs d’un objet de type « Bibliotheque ». On
suppose que la taille initiale des tableaux est saisie au clavier. Pour simplifier, on suppose que les deux
tableaux ont la méme taille et que la taille initialement saisie est suffisante pour enregistrer tous les
ouvrages,
2/4‘autres méthodes) :
Ala bibliotheque.
~ Au moins |
+ publ 'ss méthodes suivantes (en eas de besoin, vous rajouter
ublic void ajouted hs jon
© public void ra Vrage(String titre, String auteur) ;// Ajoute un ouvraBe
* public void eel 5 Affiche tous les ouvrage de Ia bibliothéque.
© public Ouvra, icheEmpruntes() ; // Affiche tous les ouvrages empruntés. -
= public & 2° get String code); / Retoume ouvrage dont le code est passé en paramere
ea olean estEmprunte(Ouvrage 0). /! Retoumne « tue ” si Vouvrage 0 est
Mes 11 sinon elle rotourne « false ».
+ publi
ic Void emprunte(Ouvrage 0) ; // Ajoute a la fin de liste des ouvrages empruntés,
3. Définir un
¢ classe nommée « TestBibliotheque » qui content la méthode main(), Pour les tests :
- Oneerée
° cerée une bibliotheque (un objet de type Bibliothéque) composée de 4 ouvrages.
~ On emprunte le deuxitme et le troisidme ouvrage
- On affiche tous les ouvrages.
- On affiche tous les ouvrages empruntés
Partie II
Dans cette partie, on distingue entre les livres et les disques.
ser les livres. Elle hérite de la classe « Ouvrage ”
1. Définir une classe nommée « Livre » pour modéli
Elle est caractérisée par
_ isbn : un attribut de type long, propre la classe « Livre ». Il désigne le code ISBN
: er tous les attributs d’un objet de type « Livre ».
- Un constructeur pour eréer et initialis
- La redéfinition de la méthode toString() ; pour retourner la chain _ "roode +"—-"+isbn
ler la méthode toString() déja définie dans la classe Ouvrage.
N.B. dans cette méthode, on doit appel
er les disques. Elle hérite de la classe « Ouvrage
2. Définir une classe nommée « Disque » pour modélis
» Elle est caractérisée par
de disque . CD ou
- type : un attribut de type St
DVD.
Un constructeur pour créer et initialiser tous les
la méthode toString() ; pour retourner la chaine :
eler la méthode toString) déja définie dans la classe Ouvrage.
tring, propre a la classe « Disque ». 11 désigne de type
attributs d’un objet de type « Disque »
itre+"-- "+code
- La redéfinition de |
N.B. dans cette méthode, doit apps
3/43
Me: snicenesue®
Jour a classe ommée « Bibliotheque » qui modélise la bibliothea™
eee
wes et es disques sont mémorisés dans le meme tables
Les livres et les di
jout,
4 ie tableau.
isques empruntés sont mémorisés dans le mém' tes deux méthodes :
On distingue entre tes livres et les disques, pour cela, on définit
Public void ajouteLivre(String ttre, String auteur, long isbn)
© Public void ajouteDisque(String titre, String auteur, String tyP€)
NE
Java util. Scanner : classe Pour la lecture de données au clavier
Exemple : voici les deux instructions qui servent A lire un entier)"i" par exemple
Scanner clavier = new Scanner (System. in) /
ant i = [Link]();
Ainsi que cet instruction dans la parie importatio
import [Link];