Vous êtes sur la page 1sur 2

DEVOIR DE CONTRÔLE

Classe(s) : L2-DSI/L2-RSI/L2-SEM
ECUE : Programmation Orientée Objets
Enseignant(s) : Mme Cheikh.E, Mme Jaouani.I et Mme Gatri.L Documents autorisés : Oui Non
Date: 06/11/2018 Durée : 1h Nombre de pages : 2 Calculatrice autorisée : Oui Non
Partie 1 (4 Points)
On désire modéliser un système de gestion d’expédition de colis basé sur des articles. Un article est
caractérisé par les attributs suivants:
 réfArt : La référence de l’article,
 poidsArt : le poids de l’article,
 estAutorisé : si l’article est autorisé à être expédié ou pas.
Le diagramme suivant illustre la classe décrite:
Article
+ réfArt : chaîne de caractères
+poids : réel
- estAutorisé : booléen
+ constructeur(…)
+ getEstAutorisé() : booléen
+ <<static>> estPlusLéger(Article,Article):booléen
+ toString():chaîne de caractères

NB : + : publique, – : privé
Question
Ecrire le code Java de la classe Article sachant que :
 constructeur(…) : initialise tous les attributs par des valeurs passées en paramètres.
 estPlusLéger (…) : retourne vrai si le premier article est plus léger que le deuxième.
 toString() : retourne tous les attributs d’un article sous forme d’une chaine de caractères.

Partie 2 (10 Points)


Un colis regroupe plusieurs articles pour leur expédition. Il est caractérisé par les attributs suivants:
 codeColis : Le code qui reflète le numéro d’ordre du colis et nbColis : Le nombre de colis,
 poidsSeuil : la valeur maximale du colis initialisée au début à 20kg,
 adrExpedition : L’adresse d’expédition du colis,
 poidsColis : Le poids du colis,
 etatColis : Il peut avoir les valeurs suivantes : « En attente », « En cours d’envoi » ou « livré »,
 tabArticles : un tableau d’articles et nbreArticles : le nombre effectif d’articles
On souhaite définir la classe Colis :
Colis
- codeColis: entier
-<<static>> nbColis : entier
-<<final>> poidsSeuil : réel
- adrExpédition : chaîne de caractères
- poidsColis : réel
- etatColis : chaîne de caractères
- tabArticles : tableau de 3 articles
- nbreArticles : entier
+ constructeur (…)
+ ajouterArticle(Article) : booléen
+ calculerFraisExpédition ( ) : réel
+LivrerColis()
+ refArticlesColis ( ) : chaine de caractères
+chercherArticle (chaine de caractères) : Article
1
Question
Ecrire le code Java de la classe Colis sachant que:
 constructeur(..) : initialise l’attribut adrExpédition par une valeur passée en paramètre,
l’attribut codeColis qui doit être calculé pour refléter son ordre lors de la création, le poidsColis
qui doit être initialisé à zéro et l’étatColis à « En attente ».
 ajouterArticle(Article): vérifie si l’article est autorisé à être expédié et si le nouveau poids du colis
n’a pas dépassé 20kg, dans ce cas il y aura l’ajout dans le tableau et le poids du colis va être mis à
jour.
 calculerFraisExpédition() : calcule les frais d’expédition du colis selon la formule suivante : le prix
pour les 2 premiers kg c’est 19dinars et pour chaque kg supplémentaire à ces 2 kg c’est 4 dinars.
 livrerColis() : change l’état du colis à « Livré ».
 refArticlesColis() : retourne toutes les références des articles composants le colis séparées par
des espaces.
 chercherArticle(…) : retourne l’article s’il existe dont la référence est donnée en paramètre.

Partie 3 (6 Points)

Soit la classe ColisAssurance héritant de la classe Colis et représentant un colis avec une valeur déclarée qui
n’est autre qu’une valeur estimée du colis pour l’assurer contre les accidents de transport. Cette classe est
schématisée par le diagramme suivant :

ColisAssurance
- valeur déclarée : réel
+ constructeur(…)
+calculerFraisExpédition() : réel
+ afficher ()

1- Ecrire la classe ColisAssurance sachant que:


 constructeur(…) : initialise la valeur déclarée,
 calculerFraisExpédition() : ajoute aux frais d’expédition du colis 10% de sa valeur déclarée,
 afficher() : affiche toutes les références des articles que contient le ColisAssurance ainsi que sa valeur
déclarée.

2- Créez une classe Test réduite à une méthode main dans laquelle vous allez :
a- Déclarer un objet CA de type ColisAssurance expédié en Espagne et sa valeur déclarée est 200 dinars.
b- Ajouter à cet objet les articles suivants :

refArt Poids estAutorisé

Art1 3 Oui

Art2 7 Oui

Art3 4 Oui

c- Afficher cet objet CA.

Bon travail

Vous aimerez peut-être aussi