0% ont trouvé ce document utile (0 vote)
19 vues5 pages

Roudaina

Transféré par

roudaina.saoudi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
19 vues5 pages

Roudaina

Transféré par

roudaina.saoudi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exercice Usine

Nous allons créer une application java modélisant le diagramme de classe suivant :

L’usine peut contenir plusieurs personnels, menuisier ou Forgerons. Cependant, la même personne
(indépendamment de sont type) doit exister une seule fois dans l’usine.

1- Créer les classe Personnel, Menuisier et Forgeron


2- Créer la classe Usine content une liste de personnel : utiliser alors le type
ArrayList<Personnel>. Ajouter à cette classe les méthodes suivantes :
a. Un constructeur avec 2 arguments (id et nom)
b. Une méthode qui ajouter un personnel à l’usine : afficher un message d’erreur si la
personne existe déjà, et sinon afficher un message indiquant que l’ajout a été effectué
avec succès.
c. Une méthode retirer(int indice) : qui retire le personnel d’indice x de l’usine
d. Un surcharge de la méthode retirer (Personne p) : qui retire le personnel p s’il existe
de l’usine et afficher un message d’erreur convenable.
e. Une méthode affiche() qui affiche les informations de tous les personnels de l’usine.
3- Créer une classe Test contenant une fonction main et tester les différentes classes créées.

1|Page
Correction

Fichier Personnel.java

import java.util.Objects;

public class Personnel {

protected String nom, prenom;


protected int age;

public Personnel(String nom, String prenom, int age)


{
this.prenom = prenom;
this.nom = nom;
this.age = age;
}

public boolean equals(Object p)


{

if(p instanceof Personnel || p instanceof Menuisier || p instanceof Forgeron )


return ((Personnel)p).nom.equals(nom) && ((Personnel)p).prenom.equals(prenom) && ((Personnel)p).age == age;
else
return false;
}

public int hashCode()


{
return Objects.hash(nom,prenom, age);
}

public String toString()


{
return "Je suis personnel , nom: " + nom + "prenom:" + prenom + " age: " + age;
}

2|Page
Fichier Menuisier.java
public class Menuisier extends Personnel{

public Menuisier(String nom, String prenom, int age) {


super(nom, prenom, age);

public String toString()


{
return "je suis Menuisier, nom : " + nom + "prenom : " +prenom + " age : "+ age}

Fichier Forgeron.java

public class Forgeron extends Personnel {

public Forgeron(String nom, String prenom, int age)


{
super(nom, prenom, age);

public String toString()


{ {
return "je suis Forgeron, nom : " + nom + "prenom : " +prenom + " age : "+ age;
}

3|Page
Fichier Usine.java
public class Usine {

private int id;


private String nom;
//liste de personnels
private List<Personnel> lesPersonnels;

public Usine(int id, String nom)


{
this.id = id;
this.nom = nom;
lesPersonnels = new ArrayList<Personnel>();
}

public void afficher()


{
System.out.println("Infos Usine : id = " + id + " nom = " + nom);
for(int i= 0; i<lesPersonnels.size() ; i++)
System.out.println(lesPersonnels.get(i));

public void ajouter(Personnel p)


{
if(lesPersonnels.contains(p))
System.out.println("Oups ce personnel existe déjà");
else
{
lesPersonnels.add(p);
System.out.println("Personnel " + p.nom + "ajouté avec succès");
}

public void retirer(Personnel p)


{
if(lesPersonnels.contains(p))
{
lesPersonnels.remove(p);
System.out.println("Suppression avec succès");
}

else
{

System.out.println("Personnel inexistant ");


}

public void retirer(int indice)


{
if(indice <= lesPersonnels.size() && indice>=0)
{
lesPersonnels.remove(indice);
System.out.println("Suppression avec succès");
}

4|Page
else
System.out.println("Indice inexistant ");
}

Fichier Tester.java

5|Page

Vous aimerez peut-être aussi