Projet P.O.O

Fermé
larsen07 Messages postés 1 Date d'inscription dimanche 31 décembre 2000 Statut Membre Dernière intervention 28 février 2011 - 28 févr. 2011 à 21:30
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 1 mars 2011 à 08:17
Projet de programmation en Java
Directives
– Le projet est individuel. Vous devez tous rendre une copie originale.
– Il est plus simple de ranger chacune de vos classes dans un fichier. Vous aurez ainsi plusieurs
fichiers que vous aurez soin de placer dans un r´epertoire. Archivez ce r´epertoire sous format zip
avant de nous le faire parvenir.
– Il vous est demand´e d’expliquer les comportements observ´es. `A vous de nous montrer que vous
avez compris comment fonctionne les m´ecanismes que vous allez utiliser lors de ce projet. La
notation portera sur le code informatique et les explications.
– Date de remise : vendredi 15 juillet, juste avant le regroupement d’Al`es.
1 Le caddie
L’id´ee du projet porte sur un caddie de supermarch´e pouvant contenir un nombre illimit´e
d’article. Les articles peuvent ˆetre des articles simples avec une d´esignation, un prix ht et un
taux de tva ou des articles au poids ou encore des ´electrom´enagers.
Voir la figure page suivante.
1

La hi´erarchie des classes demand´ees
On vous demande de d´efinir toutes les classes apparaissant dans le sch´ema uml ci-dessous :
– les attributs des classes apparaissent dans la premi`ere section des rectangles d´efinissant
les classes,
– les constructeurs et m´ethodes apparaissent dans la deuxi`eme section,
– les + indiquent que les m´ethodes sont public,
– les - indiquent que les attributs sont private,
– les fl`eches indiquent une relation d’h´eritage, exemple : la classe ArticleAuPoids h´erite
de la classe Article,
– le lien avec le losange entre la classe Caddie et la classe Article indique que le caddie
contient des articles,
– l’ast´erisque sur le mˆeme lien pr´ecise que la caddie peut contenir plusieurs articles sans
en pr´eciser le nombre.
Nous allons utiliser un objet de type Vector pour stocker les articles dans le caddie.
Un objet de type Vector est un conteneur permettant le stockage de n’importe quel type
d’objet sans avoir `a en pr´eciser le nombre. Le Vector s’adaptera automatiquement au nombre
d’´el´ements qu’il contient. Vous avez `a votre disposition un constructeur Vector() permettant
de cr´eer un Vector vide. Voici les m´ethodes qui pourront ensuite vous ˆetre utiles :
– void add(Object o) : permet d’ajouter l’objet o au vecteur,
– Object remove(int i) : permet de retirer l’objet situ´e en position i du vecteur,
– boolean remove(Object o) : permet de retirer l’objet o du vecteur,
– Object get(int i) : retourne l’objet situ´e en position i dans le vecteur,
2
ECOLE DES MINES DE NANTES
Projet de programmation Java FCD`aD : 2005-2006
– int size() : retourne le nombre d’´el´ements contenus dans le vecteur.
Pour pouvoir utiliser la classe Vector dans votre programme, il suffit d’´ecrire l’instruction :
import java.util.*;
tout en haut de votre fichier, `a l’ext´erieur de la classe.
Voir la documentation de Vector `a l’adresse http://java.sun.com/j2se/1.4.2/docs/api/
si vous d´esirez avoir plus d’info.
Pour tester :
La classe TestCaddie ci-dessous, vous permettra de tester votre programme. Placez son
contenu dans le fichier TestCaddie.java dans le mˆeme r´epertoire que les autres classes.
// Fichier TestCaddie.java
public class TestCaddie {
public static void main(String[] args) {
Article chaussure, tshirt, laveLinge, pommes;
// Cr´eation du caddie;
Caddie c = new Caddie();
// Cr´eations des articles
chaussure = new Article(75,.196,"Chaussures");
tshirt = new Article(20,.196,"T-shirt");
laveLinge = new ArticleElectromenager(230.0,"Lave Linge SG 100",2);
pommes = new ArticleAuPoids(1.05,2.33,"Pommes");
System.out.println("Ajout d’articles");
c.ajouter(chaussure);
c.ajouter(tshirt);
c.ajouter(laveLinge);
c.ajouter(pommes);
System.out.println("On s’amuse avec les types");
ArticleElectromenager laveLinge2 = (ArticleElectromenager) laveLinge;
System.out.println("Le lave linge possede une garantie de "
+ laveLinge2.getAnneesGarantie() + " ans.");
ArticleAuPoids pommes2 = (ArticleAuPoids) pommes;
System.out.println("Nous avons " + pommes2.getPoids() + " kg de pommes.");
System.out.println("facture");
c.facture();
System.out.println("Suppression d’articles");
3
ECOLE DES MINES DE NANTES
Projet de programmation Java FCD`aD : 2005-2006
c.retirer(1);
c.retirer(laveLinge);
System.out.println("Facture d´etaill´ee");
c.factureDetaillee();
}
}
L’ex´ecution de ce test devra donner l’affichage suivant :
================== Ajout d’articles ===
Le lave linge possede une garantie de 2 ans
=================== facture ===
Chaussures : 89.7 euros
T-shirt : 23.92 euros
Lave Linge SG 100 Garanti 2 ans : 275.08 euros
2.33 Kg de Pommes `a 1.05 /Kg : 2.5810575000000004 euros
TOTAL : 391.2810575
=================== Suppr d’articles ===
=================== Facture d´etaill´ee ===
= FACTURE DETAILLEE ===
Chaussures : 75.0 euros HT, TVA 19.6 %
2.33 Kg de Pommes `a 1.05 /Kg : 2.4465000000000003 euros HT, TVA 5.5 %
TOTAL
77.4465 euros HT
14.8345575 euros Taxes
92.2810575 euros TTC
Prenez soin d’expliquer en d´etail les comportements observ´es. C¸ a nous permettra de juger
de votre degr´e de compr´ehension des m´ecanismes utilis´es.

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
1 mars 2011 à 08:17
Pas bonjour à toi aussi,

Tu ne croyais quand même pas qu'on allait faire ton devoir à ta place pendant que tu jouerais tranquillement à la playstation ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous