Vous êtes sur la page 1sur 3

Problème 

:
On s’intéresse à une application simplifiée de gestion de produit industriel.

On donne le diagramme de classes suivant :

<<Abstract>>

Travail demandé :
1. Definir l’interface Visualisable (la methode visualiser peut lever
une exception de type VisualisationException)
2. Ecrire la classe Piece qui contient les variables d’instance, un constructeure surchargé
(reference,matiere,poid), la methode visualiser (affiche la reference,la matiere et le poid).
3. Ecrire la classe PieceElectrique qui herite de Piece :
-un constructeur surchargé qui appelle le constructeur de sa classe mère.
-redefinir la méthode visualiser :
Si l’attribut hasElectricPlan=true alors appeler visualiser de la classe Piece
Sinon lever une exception de type VisualisationException

4. Ecrire la classe PieceMecanique qui herite de Piece :


-un constructeur surchargé qui appelle le constructeur de sa classe mère.
-redefinir la méthode visualiser :
Si l’attribut hasMecanicalPlan=true alors appeler visualiser de la classe Piece
Sinon lever une exception de type VisualisationException.

5. Ecrire la classe Assemblage qui contient une ArrayList<Piece>  et les methodes


suivantes :
public void ajouterPiece(Piece piece)
public Piece rechercherPiece(String reference)
public void supprimerPiece(String reference)

et la methode visualiser() dont le code est le suivant:


public void visualiser() throws VisualisationException {
System.out.println("Assemblage:"+getIdentifiant());
System.out.println("Pieces: \n");
for(Piece p:pieces)
{
p.visualiser();
}
}

6. Ecrire la classe Produit qui contient une HasMap<String,Assemblage> ou la cle


est l’identifiant d’un assemblage et les méthodes suivantes :
public void creerAssemblage(String identifiant)
public void ajouterPiece(String identifiantAssemblage,Piece
piece)
public void supprimerPiece(String identifiantAssemblage,String
referencePiece)
public void deplacerPiece(String referencePiece,Assemblage
assemblageSource,Assemblage assemblageDestination)

et la methode visualiser() dont le code est le suivant:

public void visualiser() throws VisualisationException {

Set<String> cles=assemblages.keySet();

for (String c:cles){


Assemblage assemblage=assemblages.get(c);
assemblage.visualiser();
}
}

6. Créer une classe Test qui contient le code suivant :

public static void main(String[] args) {

Produit b=new Produit();


b.setLibelle("Moto");
b.creerAssemblage("Carosse");
b.creerAssemblage("Moteur");

PieceMecanique roueAv=
new PieceMecanique("roueAvant", "acier", 2.0f, true);
PieceMecanique roueAr=
new PieceMecanique("roueArriere", "acier",
2.0f, true);

b.ajouterPiece("Carosse", roueAr);
b.ajouterPiece("Carosse", roueAv);

PieceMecanique piston=new PieceMecanique


("Piston", "aluminium", 1.0f, true);

b.ajouterPiece("Moteur", piston);

try {
b.visualiser();
} catch (VisualisationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}}

Bon Travail

Vous aimerez peut-être aussi