Vous êtes sur la page 1sur 6

Mini-Projet

(Programmation Objet Java)


DSI22
Enseignant : Riadh BOUSLIMI
Date limite : 03/01/2021
On souhaite créer une application Java d’une gestion commerciale. On vous donne le digramme de
classes dans l’ANNEXE 2 qui contient toutes les classes nécessaires pour mettre en place
l’application.

On vous demande de créer les classes suivantes :


1. Personne : une classe abstraite qui contient les :
o attributs protégés : ident, nomsocial et adresse.
o méthodes protégés :
▪ Personne(int ident, String nomsocial, String adresse) :
constructeur paramétré qui permet d’initialiser l’objet Personne.
▪ Les accesseurs (getter / setter) de chacun des attributs : ident, nomsocial et
adresse qui doivent être protégés.
▪ void Affiche() : qui renvoie les toutes les informations qui concerne
l’Adhérent.
2. Client : une sous-classe de la classe Personne et qui possède :
o attribut privé : chiffreaffaire
o méthodes publiques :
▪ Client(int ident, String nomsocial, String adresse, double
chiffreaffaire): constructeur paramétré qui permet d’initialiser l’objet
Client.
▪ Les accesseurs publiques (getter/ setter) de l’attribut chiffreaffaire.
▪ void Affiche() : une méthode qui fait appel à la méthode Affiche de la
super-classe et qui affiche toutes les informations qui concerne l’étudiant.
3. Article : la classe contient :
o Les attributs privés : reference,designation,prixunitaire,quantitestock.
o Les méthodes publiques:
▪ Article(int refrence,String designation, double prixunitaire,
int quantitestock) : constructeur paramétré qui permet d’initialiser l’objet
Article.
▪ Article(Article a) : constructeur par copie qui permet d’initialiser l’objet
Article à partir d’un objet a passé en paramètre.
▪ Les accesseurs publiques (getter/setter) des attributs reference,
designation, prixunitaire et quantite.
▪ void Affiche() : une méthode qui affichera toutes les information qui
concerne l’article.

Page 1|6
4. Commande: une classe qui permet de gérer les commandes des clients. La classe comporte :
o Les attributs privés suivants : numcomm, datecomm, client.
o Les méthodes publiques :
▪ Commande(int numcomm, Date datecomm, Client client) : constucteur
qui permet d’initialiser l’objet Commande.
▪ Les accesseurs publiques (getter/setter) des attributs numcomm, datecomm et
client.
5. Ligne: une classe-association qui permet de gérer les lignes des commandes. La classe
comporte :
o Les attributs privés suivants : commande, article, quantitecomm.
o Les méthodes publiques :
▪ Ligne(Commande commande, Article article, Client client) :
constucteur qui permet d’initialiser l’objet Ligne.
▪ Les accesseurs publiques (getter/setter) des attributs commande, article et
quantitecomm.
6. Commerciale : une classe qui admet comme :
o Les attributs de type Vector: articles, clients, commandes, lignes.
L’ANNEXE présentera un exemple sur l’utilisation
1 d’un vecteur. La classe
java.util.Vector doit être utilisée dans la classe Commerciale.
o les méthodes publiques qui seront implémentées sont :
▪ void Passercommande(Commande c) : une méthode qui permet d’ajouter une
commande au vecteur des commandes.
▪ void Annulercommande(Commande c) : une méthode qui permet de
supprimer une commande du vecteur commandes.
▪ void AjouterArticle(Article a) : une méthode qui permet d’ajouter un
article dans le vecteur des articles.
▪ void SupprimerArticle(Article a) : une méthode qui supprime un article.
▪ void AjouterClient(Client c) : une méthode qui permet d’ajouter un
client dans le vecteur des clients.
▪ void SupprimerClient(Client c) : une méthode qui permet de supprimer
à un client donné du vecteur des clients.
▪ static void main(String args[]) : programme principal qui permet
d’afficher un menu ci-dessous et qui servira pour manipuler la gestion
commerciale.
NB : La saisie des données nécessite l’utilisation de la classe :
java.util.Scanner.

Page 2|6
Bon travail

Page 3|6
ANNEXE 1

Exemple.java
1 import java.util.Vector;
2
3 public class Exemple {
4
5 public static void main(String[] args)
6 {
7 // création d’un vecteur de type Article
8 Vector<Article> articles = new Vector<Article>();
9
10 // insertion d’un article dans le vecteur
11 articles.add(new Article(1, "Robinet SOPAL",120,50));
12 articles.add(new Article(2, "Minigeur Evier SOPAL",180,40));
13 articles.add(new Article(3, "Mitigeur de Bain de douche SOPAL",318,30));
14 articles.add(new Article(4, "Mitigeur de lavabo SOPAL",150,45));
15 articles.add(new Article(5, "Robinet de toilette SOPAL",130,67));
16
17 // affichage du vecteur avant la suppression
18 System.out.println("---Avant la suppression---");
19
20 System.out.println("Liste des Articles: " );
21 for(Article a : articles)
22 a.Affiche();
23
24 System.out.println("Taille: " + articles.size());
25
26 // Rechercher une personne
27 System.out.println("---Recherche d'un article---");
28 Article ax = null;
29 for(Article a : articles){
30 if(a.getReference()==3)
31 ax=a;
32 }
33
34 System.out.println("Démarrage de la suppression : " );
35 // suppression de l’objet px de la classe Article
36 boolean ok = articles.remove(ax);
37 if (ok) {
38 System.out.println("Article '3' a été supprimée");
39 }
Page 4|6
40 else {
41 System.out.println("Article '3' n'est pas existant dans le vecteur");
42 }
43
44 System.out.println("---Après la suppression---");
45 for(Article a : articles)
46 a.Affiche();
47 System.out.println("Taille: " + articles.size());
48
49 }
50 }

Trace d’exécution

Page 5|6
ANNEXE 2

Page 6|6

Vous aimerez peut-être aussi