Académique Documents
Professionnel Documents
Culture Documents
PROGRAMMATION JAVA
TP N° 4
Héritage et Polymorphisme
AUDITOIRE : 2 EME année LI
Problème :
-1-
6) Développer une classe Etudiant qui hérite de la classe Personne sachant qu’il impossible
d’étendre cette classe. Elle représente un élément terminal dans l’arborescence d’héritage.
Cette classe possède trois attributs privés :
a. Un attribut classe de type String,
b. Un attribut noteMoyenne, de type primitif float,
c. Un attribut sérieux, de type primitif boolean,
d. Créer un constructeur avec paramètres appelant le constructeur de la classe mère,
puis initialisant ses attributs propres (noteMoyenne et sérieux),
7) Créer une classe TesterEnseignantEleve ne comportant pas d’attribut et comportant une
unique méthode main(). Dans cette méthode, créer un objet de la classe Personne, de nom
égal à "Salah" et d’âge égal à 35.
Créer un Enseignant, de même nom et âge, ayant nbHeuresCours égal à 50 et Souriant mis
à true. Puis, créer un Etudiant de nom "Ali", d’âge égal à 20, ayant 12 comme
noteMoyenne et sérieux mis à true.
Afficher les caractéristiques des trois objets créés en faisant appel à la méthode afficher()
de la classe Personne. (Qu’est-ce que vous avez remarqué ?)
8) On se propose maintenant d’appliquer la Redéfinition de la méthode afficher(). Créer, au
sein de la classe Enseignant une méthode de signature void afficher() qui affiche les
caractéristiques d’un enseignant (de même pour la classe Etudiant).
9) Créer un tableau de N éléments de type Personne dans la méthode main() de la classe
TesterEnseignantEleve avec N est déclarée comme une constante égale à 5 (Vous allez
utiliser le mot clé final) ; initialiser ce tableau avec 2 instances d’objet de type Enseignant
et 3 instances de type Etudiant. Effectuer une boucle for sur les éléments du tableau ; dans
le corps de la boucle, afficher s’il s’agit d’un Etudiant ou d’un Enseignant en se servant de
l’opérateur instanceof, puis effectuer un appel à la méthode afficher().
Remarque à retenir : Le mot clé (le modificateur) final
• Un attribut déclaré final est un attribut constant. Il faut l'initialiser dès sa déclaration.
Par convention, un attribut final est écrit en majuscule.
Exemple : final int MAX = 10;
• Une classe final est une classe qui ne peut pas avoir de filles. Une classe final ne peut
pas être étendue: le mécanisme d'héritage est bloqué. Mais une classe final peut
évidemment être la fille d'une autre classe (non final).
• Une méthode final est une méthode qui ne peut pas être redéfinie dans les sous-
classes.
-2-