Vous êtes sur la page 1sur 3

Ecole Nationale d'Ingénieur

d'Electronique Année Universitaire : 2022 - 2023


et de Télécommunication de Sfax Section 2ème Année GII
Programmation Orientée Objets
Matière
Java 2

Exercice de révision Java avancé (classes abstraites et interfaces)

Enoncé :

Pour gérer son stock d’équipements informatique, un magasin de vente fait appel à vous pour lui
développer une application en java. La partie qu'on vous demande de réaliser, permet de calculer le
prix de vente, la taxe appliquée des différents types d’équipements ainsi que la valeur de réduction
pour les équipements en promotion.
Les équipements informatiques sont classés en 3 catégories:
• les ordinateurs
• les smartphones
• les périphériques

Chaque équipement est caractérisé par :


- code à barres : entier
- marque : chaîne de caractères
- prix : réel

Les ordinateurs sont en plus caractérisés par:


- type processeur : chaîne de caractères
- taille mémoire : réel
- promotion : booléen

Les smartphones sont en plus caractérisés par :


- modèle : chaîne de caractères
- connectivité : chaîne de caractères
- double sim : booléen
- promotion : booléen

Les périphériques sont en plus caractérisés par :


- libelle : chaîne de caractères

Le prix de vente de chaque équipement est égal à son prix augmenté de la valeur de sa taxe
appliquée moins la valeur de la réduction si l’équipement est en promotion.

Pour chaque type d’équipement la valeur de la taxe appliquée est définie de la manière suivante:
◦ Pour les ordinateurs, la valeur est égale à:
▪ 15% du prix si le type de processeur est intel core i7.
▪ 12% du prix si le type de processeur est intel core i5.
▪ 10% du prix pour les autres types.
◦ Pour les smartphones, la valeur est égale à:
▪ 15% du prix si le smartphone dispose d’une double sim .
▪ 10% du prix sinon
1
◦ Pour les périphériques, la valeur est égale à:
▪ 20% du prix.

Seulement les ordinateurs et les smartphones peuvent être en promotion. La valeur de réduction est
égale à :
▪ 5 % du prix pour les ordinateurs.
▪ 3 % du prix pour les smartphones.

Partie 1

- Réaliser une classe Equipement, possédant:


 Un constructeur sans argument,
 Un constructeur paramétré,
 Une méthode toString() permettant de retourner une chaîne décrivant les propriétés d'un
équipement.
 Une méthode float calculTaxeAppliquee() permettant de renvoyer la valeur de la taxe
appliquée à un équipement.
 Une méthode float prixVente() permettant de renvoyer le prix de vente d’un équipement

- Réaliser une interface Promotion offrant une méthode permettant de calculer la valeur de la
réduction du prix. La méthode aura alors la signature suivante : float reduction()

- Réaliser les classes Ordinateur, Smartphone et Peripherique, en prévoyant pour chaque classe:
 un constructeur sans argument,
 un constructeur paramétré, et
 la redéfinition des méthodes nécessaires.

Partie 2

On se propose maintenant de réaliser une classe Caisse (utilisez la classe Vector ou la classe
java.util.ArrayList) caractérisée par :
- l’identifiant de la caisse : entier
- le solde initial de la caisse : réel
- la liste des équipements vendus par la caisse

Cette classe offre les méthodes suivantes :


- Constructeur paramétré par l’identifiant et le solde initial de la caisse.
- vendreEquipement : permet d’enregistrer un équipement vendu
- soldeCaisse : retourne le solde final de la caisse à la fin d’une journée (solde initial plus la somme
des prix des équipements vendus en tenant compte des réductions déclarées).
- toString() permettant de retourner une chaîne décrivant les propriétés d'une caisse (identifiant, solde
initial, solde de caisse).
- annulerEquipement : permet de supprimer un équipement vendu de la caisse étant donné son code
à barre.
- ListeEquipements : qui permet d’afficher la liste des équipements vendus par la caisse.
- ListePromotion : qui permet d’afficher la liste des équipements en promotion vendus par la caisse.

Partie 3
Réaliser une classe Test, contenant un programme principal permettant de:

2
- Créer un tableau eq contenant les équipements suivants:
▪ Ordinateur (code à barres : 111111, marque : HP, prix : 1500, type processeur :intel core i7, taille
mémoire : 8 Go, en promotion)
▪ Smartphone (code à barres : 222222, marque : Samsung, prix : 800, modèle :Galaxy duos,
connectivité : 3G, double sim, non soldé)
▪ Peripherique (code à barres : 333333, marque : Asus, prix : 12, libelle : souris)
- Afficher pour chaque équipement :
- ses propriétés,
- son prix de vente
- sa valeur de taxes appliquée,
- la mention En Promotion ou Non Soldé. S'il est en promotion afficher alors sa valeur de
réduction.
- Créer une caisse c, d’identifiant 4444 ayant un solde initial égal à 100, qui se chargera de la
vente des différents équipements du tableau eq, afficher le solde de la caisse après la vente.

Remarque : La classe java.util.ArrayList


La classe ArrayList se trouve dans le paquetage java.util ; elle modélise une collection d'objets ; elle
est générique ce qui fait qu'on peut préciser le type des objets de la collection ; un ArrayList<Integer>
doit contenir uniquement des Integer.

La classe ArrayList possède les méthodes suivantes :

 size() retourne le nombre d'éléments rangés dans la liste ; les éléments de la liste sont rangés
dans des indices compris entre 0 et size() - 1 ;
 get(int i) retourne l'élément qui se trouve à l'indice i ;
 s'il s'agit de ArrayList<E>, add(E element) ajoute element à la fin de la liste et augmente
en conséquence la taille de celle-ci ;
 s'il s'agit de ArrayList<E>, set(int i, E element) remplace l'élément qui se trouve à
l'indice i par element ; on ne peut pas insérer un élément au-delà de l'indice size() - 1 ;.

Vous aimerez peut-être aussi