Vous êtes sur la page 1sur 2

Devoir Surveillé

Matière : Programmation Orientée Objet Classe (s) : DSI21/22&SEM2


Enseignant (s) : A.Chalouah , A.Gafsi, A.El Amraoui Durée : 01h00
Date : 03/11/2017 Documents : non autorisés
Nbre pages :2 Calculatrice : non autorisée

Problème:

On désire réaliser une application de gestion des articles vendus dans un magasin.

A. Conformément au concept de l’encapsulation en programmation orientée objet, écrire une


classe Article contenant :
1. Les attributs suivants :
a. id : un numéro entier qui caractérise l’article de manière unique.
b. intitule : de type chaine de caractère : description de l’article.
c. prixHT : de type réel le prix unitaire hors taxes de l’article.
d. QteDispo : le nombre d’unités de l’article disponibles en stock.
e. QteMin : Le nombre d’unités minimale de l’article au-dessous de la quelle il
faudra lancer une commande. Cette quantité est fixée à la création du produit et ne
pourra pas être modifiée.
f. NbreArticle : entier permettant de calculer le nombre d’articles créés.
2. Le constructeur Article (int id, String intitule, double prixHT, int QteDispo, int QteMin) :
permettant d’initialiser les attributs de l’objet, le prix de l’article ne doit pas être négatif et la
quantité en stock ne doit pas être inférieure à la quantité minium.
3. Les getters et les setters pour les attributs priHT et QteDispo.
4. La méthode void approvisionner (int nombreUnites) : méthode pour augmenter la quantité
disponible en stock de l’article par nombreUnites.
5. La méthode boolean vendre (int nombreUnites) : cette méthode enregistre la vente d’un
certain nombre d’unités de l’article, il faut donc diminuer en conséquence la quantité
disponible en stock. Si nombreUnites est supérieur à la quantité disponible alors le stock
n’est pas modifié et la méthode renvoie false ; autrement elle renvoie true.
6. La méthode double prixTTC() : cette méthode calcule et renvoie le prix TTC de l’article
sachant que la TVA est de 10%. Le taux de TVA doit être déclaré comme une constante.
7. La méthode String toString() : qui retourne une description de l’article : chaîne de
caractères exprimant l’id, l’intitulé et le prix TTC de l’article.

1
8. La méthode boolean comparePrixV1 (Article unArticle) : a.comparePrixV1(b) retourne
vrai si et seulement si les articles a et b ont le même prix TTC.
9. La méthode static boolean comparePrixV2 (Article unArticle1, Article unArticle2) :
retourne vrai si et seulement si les deux articles paramètres de la méthode ont le même prix
TTC.

B. Ecrire la classe ArticleAlimentaire qui dérive de la classe Article. La classe contient :


1. Les attributs :
a. dateDeProduction (String) : date de fabrication de l’article.
b. dateDePéremption (String) : date limite de consommation de l’article.
2. Un constructeur qui initialise tous les attributs.
3. Redéfinir la méthode toString() afin qu’elle retourne en plus les dates de production et de
péremption.

C. Ecrire la classe TestArticle contenant le main permettant de :


1. Créer les 2 articles suivants :
id intitulé Prix hors Taxe Quantité Quantité
Disponible Minimum
10 Veste 120.500 180 50
16 Pochette 12.250 250 120
2. Afficher les caractéristiques de chacun des articles.
3. Vendre 60 unités du premier article et approvisionner 100 unités pour le second
article.
4. Comparer le prix des 2 articles grâce aux deux méthodes précédemment définies et
afficher un message indiquant si les 2 articles ont le même prix.
5. La déclaration suivante est-elle correcte ? Si ce n’est pas le cas indiquez le problème et
corrigez le.

ArticleAlimentaire aa1 = new ArticleAlimentaire (« 25/10/2017 », « 25/11/2017 »).

Bon travail.

Vous aimerez peut-être aussi