Vous êtes sur la page 1sur 7

POO: TP/Mini Projet

Duré de Réalisation: 6 Heures


==================================================================================

L'objectif de ce mini-projet est de développer une application pour la gestion des stages des
étudiants d'une école.

On fait la distinction entre deux types de stages: Projet de fin de formation (PFA: Coefficient est
0.25)et projet de fin d'études (PFE: Coefficient est 0.75); Donc chaque étudiant doit effectuer les
deux stages (le PFA et le PFE).

Un stage est toujours encadré par un encadrant pédagogique, mais un encadrant peut bien sur
encadrer plusieurs stages.

Pour cela, on vous demande d'implémenter le mini-diagramme de classes suivant:

1. Créer la classe abstraite Stage qui contient la méthode abstraite: public abstract
float getCoefficient();
Il ne faut pas initialiser ni calculer le champ : protected int
numeroDeStage; il sera calculé dans les sous-classes StagePFE et SragePFA.

2. Créer la classe StagePfe qui hérite de la classe Stage; cette classe doit redéfinir la fonction
public float getCoefficient(); et elle doit aussi calculer
automatiquement le numeroDeStage en utilisant le champ: private

static int nombreDeStagePfe ; telle que le premier objet du type


StagePfe aura comme numéro 1, le deuxième 2 et ainsi de suite ...
3. Créer la classe StagePfa qui hérite de la classe Stage; cette classe doit redéfinir la fonction
public float getCoefficient(); et elle doit aussi calculer
automatiquement le numeroDeStage en utilisant le champ: private

static int nombreDeStagePfa ; telle que le premier objet de type


StagePfe aura comme numéro 1, le deuxième 2 et ainsi de suite ...

4. développer la classe Adresse suivante (c'est pour gérer les adresses des étudiants et des
encadrants):
5. Créer la classe abstraite Personne suivante, cette classe contient la méthode abstraite :

public abstract int getNombreDePerssone();Cette


fonction va nous permettre de connaitre le nombre d'étudiants et d'encadrants.

Il faut noter que les classes Étudiantes et Encadrant qui implémentent la classe personne doivent
redéfinir cette méthode.

Il ne faut pas initialiser l'identifiant dans la classe personne, il sera calculé automatiquement dans les
sous-classes Étudiante et Encadrant par la suite!
6. Créer la classe Etudiant qui hérite de la classe Personne. Ici, il faut redéfinir la méthode:

public abstract int getNombreDePerssone();


Il faut aussi calculer automatiquement l'identifiant de chaque nouveau étudiant, par exemple:

le premier étudiant aura comme identifiant la valeur 1;

le deuxième étudiant aura comme identifiant la valeur 2;

et ainsi de suite ...

pour cela, il faut exploiter la variable: private static int


nombredeEtudiant = 0;
il faut noter que chaque étudiant possède un tableau de Stages de taille deux (PFA, PFE), qu'il faut
construire dans le constructeur (Construire le tableau et pas les éléments du tableau);
7. créer la classe Encadrant qui hérite de la classe Personne:

Il faut aussi calculer automatiquement l'identifiant de chaque nouveau Encadrant, par exemple:

le premier étudiant aura comme identifiant la valeur 1;

le deuxième étudiant aura comme identifiant la valeur 2;

et ainsi de suite ...

pour cela, il faut exploiter la variable: private static int


nombredEncadrant = 0;
il faut noter que chaque Encadrant possède une liste de stages, qu'il faut construire dans le
constructeur (Construire la liste this.stage = new
ArrayList<Stage>(); et pas les éléments de la liste);
8. Créer la classe Test qui contient la fonction main :

a. ajouter dans la classe main deux listes: une pour les stages et une pour les personnes:
List<Personne> personnes = new
ArrayList();
List<Stage> stages = new ArrayList();
b. créer 4 étudiants: etd1, etd2, etd3 et etd4;
c. ajouter les 4 étudiants à la liste personnes
d. créer deux encadrants: enc1 et enc2;
e. ajouter les deux encadrants à la liste personnes
f. pour chaque étudiant créer deux stages (PFE et PFA) et les ajouter à la liste des stages, il faut
noter que l'encadrant enc1 encadre les stages du type PFA et l'autre encadrant enc2 encadre
les stages du type PFE.
g. afficher le contenu des deux listes personnes et stages;
h. afficher le nombre de sages pfa et pfe.
i. afficher le nombre des étudiants et encadrants.

9. proposer une interface graphique convenable (supplémentaire).

Vous aimerez peut-être aussi