Vous êtes sur la page 1sur 2

UNIVERSITÉ IBN ZOHR EXAMEN DE LA SESSION NORMALE Année Universitaire 2022/2023

FACULTÉ DES SCIENCES JAVA 1 FILIÈRE : SMI5 & II5


D’AGADIR
DÉPARTEMENT D’INFORMATIQUE

Durée : 1h00min
Documents non autorisés

Questions de cours
Q1. Quelle est la différence entre une classe abstraite et une interface ? Quelle
est la syntaxe Java pour définir une interface ?

Q2. Soit une interface Java I, et deux classes C1 et C2 qui l'implémentent.


Lesquelles des déclarations suivantes sont justes ou fausses ? Pourquoi ?
1. I x = new I( ) ;
2. C1 y = new C1( ) ;
3. I[ ] z = {new C1( ), new C2( )};
4. C1 w = new C2( );

Exercice :
On souhaite mettre en place un service de messagerie assurant la collecte, le
transport et la livraison des colis partout au Maroc. La phase
d'analyse/conception a conduit au diagramme de classes incomplet suivant :

Classe Produit
1 Donner la définition de la classe Produit, comportant un constructeur, les
méthodes d’accès et redéfinissant la méthode toString(). Le code doit
être unique pour chaque produit et généré automatiquement (ajouter
d’autres attributs si nécessaire).
2 Ecrire le code permettant de créer une instance de la classe Produit ?

Classe des produits Fragiles


3 Donner la déclaration de la classe Fragile. Définir deux constructeurs : l’un
en précisant l'emballage et l'autre non.
4 Le prix de transport d'un produit Fragile est deux fois le prix de transport
d'un Produit normal. Redéfinir la méthode prixTransport() de la classe
Fragile.

1/2
5 Peut-on écrire : Produit tv = new Fragile ("Sumsung", 5000.00);
Si oui, quel est le prix de transport de l'article tv ?

Interface ValeurDeclaree
6 Ajouter l’interface ValeurDeclaree pour les produits précieux bénéficiant
d’une assurance couvrant les risques. Cette assurance est fixée à un prix
de 500.00 DHs. Donner une implémentation à cette interface.

Classe des produits Precieux


7 Définir la classe Precieux implémentant l’interface ValeurDeclaree et
comportant un constructeur.
8 Le prix de transport d'un produit Precieux est deux fois le prix de transport
d'un Produit normal plus le prix de l’assurance. Redéfinir la
méthode prixTransport() de la classe Precieux.

Classe Colis (un ensemble de produits)


9 Quelle relation existe-t-il entre Colis et Produit ?
10 Ajouter les attributs nécessaires pour implémenter cette relation (vous
choisirez de quel côté de la relation ajouter ces attributs).
11 La méthode addProduit() permet d'ajouter un Produit et la
méthode contains() vérifie si un Produit est contenu dans un Colis.
Donner le plus simplement possible le code de ces deux méthodes.

Classe Main
12 Une classe Main comportera une méthode main() qui instanciera des
produits des différents types (3 Produits, 2 Fragiles et 1 Précieux).
13 Ces 6 produits seront inclus dans un Colis qu’il faut créer.
14 Ecrire le code permettant de calculer et d’afficher le prix de transport de
chacun des produits et le prix total des produits inclus dans le Colis.
15 A partir du Colis, afficher les informations concernant les produits
Fragiles.

2/2

Vous aimerez peut-être aussi