Vous êtes sur la page 1sur 3

SUP’PTIC - Yaoundé

ITT 2A
Année Académique 2019 - 2020

Programmation Orientée
Objet
FICHE DE TRAVAUX PRATIQUES Numéro 3
Yves Martial IFOUE D.

Héritage - Polymorphisme
Abstraction - Énumération
L’objectif de ce TP est de modéliser (analyse et conception) un projet
informatique et d’en ressortir les classes puis les implémenter dans le
langage Java.
L’étudiant doit pouvoir :
– Définir et implémenter l’héritage
– Définir et implémenter le polymorphisme
– Définir et implémenter une classe abstraite
– Définir et implémenter les énumérations
– ...

Exercice 1 : Héritage
Soit la classe Rectangle qui représente un rectangle et la classe Carre
qui représente un carré. On construit un rectangle en donnant sa longueur
et sa largeur. On construit un carré en donnant la longueur de ses côtés. De
plus, la classe Carre doit avoir une méthode getSideLength() qui renvoie
la longueur des côtés du carré.
1. Écrire la classe Rectangle qui représente un rectangle
2. Écrire la classe Carre en sachant qu’un carré est une sorte de rectangle
3. Écrire un programme qui crée un carré de 20 unités de côté et qui
affiche sa surface à la console.

Exercice 2 : Héritage et Polymorphisme


Considérons un projet d’informatisation de la gestion d’un établissement
d’enseignement supérieur. Une personne est caractérisée par son nom, son

1
prénom et sa date de naissance. un étudiant en plus possède un matricule et
une classe (ITT1A, ITT2A, ITT2B...) et un enseignant en plus du matricule
possède une spécialité. Chacune de ces personnes peut se présenter et afficher
toutes ses coordonnées. on sait aussi qu’une personne fait quelque chose, un
étudiant étudie et un enseignant enseigne.
1. Présenter ce modèle tel qu’il apparaîtrait dans un diagramme de classes
2. Écrire les classes Personne, Enseignant et Étudiant avec pour cha-
cune des classes une méthode afficher() pour afficher les coordonnées
et une méthode action() pour afficher l’action réalisée par chaque per-
sonne.
3. Écrire une classe principale qui utilise chacune de ces classes pour crée
des objets et appelle les méthodes correspondantes

Exercice 3 : Héritage, polymorphisme, abstrac-


tion, énumération
Le ministère de l’Enseignement Supérieur désire gérer les services des
ressources humaines des universités du Cameroun.
Les personnes à gérer sont caractérisées chacune par un nom, un prénom,
un age. Ces personnes peuvent être des personnels permanents ayant chacun
en plus un contrat de type Contrat. Un personnel permanent peut être un
enseignant ayant un grade de type Grade ou un personnel administratif ayant
un poste de type Poste. Les autres personnes sont des enseignants vacataires
avec un type contact de type TypeContact.
1. Construire le diagramme de classe correspondant à cette situation en
faisant apparaître l’héritage. Ajouter les énumérations :
– Contrat : CDD, CDI, INTERIM ;
– TypeContact : CHEF, SALARIE ;
– Poste : DIRECTEUR, DOYEN, CHEF DE DIVISION, CHEF DE
DÉPARTEMENT :
– Grade : PR, MC, CC, ASSISTANT
2. Coder toutes les classes en assurant l’héritage entre elles (En partant de
la classe mère vers les classes filles). Étant donné que certaines classes
ne peuvent être instanciées, assurez-vous de définir en classes abstraites
toutes celles qui doivent l’être.
Ajouter la méthode afficher() dans toutes les classes en respectant
une nouvelle fois la notion d’abstraction

2
3. Créer une nouvelle classe nommée ServiceRH définie par le nom de son
université et une liste de personnes
Remarque : Les personnes ne sont pas forcément liées à ce service et
peuvent avoir une relation avec d’autres services.
Dans cette classe, codez les méthodes suivantes :
(a) ajouterPersonne(Personne P) qui permet d’ajouter une per-
sonne à la liste des personnes d’un serviceRH
(b) nbrPersonne() qui retourne une valeur entière représentant le
nombre de personnes liées à ce service
(c) afficherLesPersonnes() qui affiche en détails les personnes et
toutes leurs informations suivant leurs types
(d) typePersonne(Personne p) qui affiche le type d’une personne
suivant qu’elle soit enseignant permanent, administratif ou vaca-
taire
(e) typePersonneParNom(String nom, String prénom) qui cherche
une personne par son nom et son prénom et affiche ses détails s’il
le trouve dans la liste des personnes ;liées à ce service
(f) supprimerPersonne(Personne Asupprimer) qui supprime de la
liste la personne entrée en argument
4. Créer une classe principale pour tester toutes les méthodes

Remarques
1. Chaque élève ingénieur doit être capable d’écrire chacun de ces pro-
grammes avant les corrections, même si votre résultat n’est pas correct,
vous gagnerez beaucoup pour avoir essayé avant la correction
2. N’hésitez pas à poser toutes vos questions à l’adresse imaryves@gmail.com
ou au numéro 697 20 83 83
3. Bon travail et à bientôt

Vous aimerez peut-être aussi