Tutoriel Java N°9 : Mettre en oeuvre la notion d’héritage en Java

Maîtrisez la notion d’héritage objet. Mettez en œuvre pas à pas l’héritage en Java. Comprenez une des différences clés entre l’héritage en Java .Réutilisez du code existant. Spécialisez vos classes. Comprenez également les faiblesses de l’héritage.

Prérequis

- Savoir Installer le Kit de développement Java (JDK)
- Tutoriel N°8 ’Classes, Objet et Diagramme UML’

Objectifs

- Comprendre ce qu’est l’héritage
- Comprendre la mise en oeuvre de l’héritage

Programme

- Partie 1 : Diagramme UML
- Partie 2 : Codage de la classe ’Manager’ du domaine métier
- Partie 3 : Manipulation de la classe Manager
- conclusion

Programme

- Partie 1 : UML : un outil de communication
- Partie 2 : Codage des classes du domaine métier
- Partie 3 : Manipulation d’objets
- Conclusion

Durée

- 30 minutes.

Partie 1 : Diagramme UML

- Analysez le diagramme UML suivant

tuto-9-img-3

- Expliquez

- L’héritage a permis de factoriser des attributs communs (id , nom et prénom) et une méthode commune (demanderFormation) .

Partie 2 : nouveau codage de la classe Manager

- Cliquez droit sur le package “domaine” pour créer la classe Manager

tuto-9-img-14

- Saisissez le nom de la classe “Manager” dans la zone de texte “Name”.
- Puis le nom de la classe à hériter Employe précédée de son nom de package dans la zone de texte “Superclass”

tuto-9-img-15

- Pour faire hériter une classe d’une superclasse, Java fournit le mot-clé extends

tuto-9-img-16

- Les attributs id , nom et prénom de la classe Manager sont hérités de la classe Employe . Ces attributs étant privés au niveau de la classe Employe , vous devez constater que leur utilisation en direct pose un problème de compilation . Utiliser les accesseurs publics associés pour y accéder .

- Tester le lanceur LanceurGestionConges . Vous devez obtenir le même résultat que lors du TP précédent

- Que faudrait-il faire pour pouvoir accéder en direct à ces attributs ?

- Tester à nouveau en ayant modifié la visibilité (private, public, protected) des attributs de la classe Employe.

- Le constructeur de Manager doit à ce stade du développement contenir des appels aux setters des différents attributs privés . Modifier le constructeur de Manager afin qu’il invoque son constructeur ancêtre (celui d’Employe) via le mot clef java super. Ceci constitue une bonne façon de faire en matière de construction d’objets .

tuto-9-img-18

Partie 3 : Manipulation de la classe Manager

En utilisant la méthode main() de la classe LanceurGestionFormations , nous allons tester l’héritage de la classe Employe par la classe Manager . L’idée étant de manipuler les propriétés de la classe Employe à partir de la classe Manager

- Déclaration

tuto-9-img-19

- Instanciation

tuto-9-img-20

- initialisons avec des paramétres par défaut pour le constructeur

tuto-9-img-21

- Utilisation

Dés que l’on saisit le nom de l’objet man suivi de “.” , nous pouvons voir la liste des propriétés disponibles , dont celle héritée de la classe Employe

tuto-9-img-22

Nous pouvons modifier les attributs nom, prenom et id en passant par les setters hérités de Employe

tuto-9-img-23

En ajoutant la ligne “System.out.println(man) ;” à la méthode “main()”

tuto-9-img-24

Lancez l’application en cliquant sur le bouton “run”

tuto-9-img-25

Constatez le résultat sur la vue “console”

PNG - 9 ko

- Expliquez.

Ajout de la méthode ’toString()’

En utilisant l’assistant Eclipse (Source / generate / toString()) , ajoutez dans la classe Employe la méthode toString() .

Puis relancez l’application. Vous obtenez :

tuto-9-img-26

- Expliquez le rôle de la méthode toString(). D’où vient cette méthode ?

CORRECTION

Zip - 10.4 ko
GestionFormations-Heritage

Conclusion

Dans ce tutoriel vous avez mis en œuvre le puissant mécanisme d’héritage.

Vous avez compris que l’héritage permet de réduire le nombre de ligne de code de vos programmes Java en réutilisant du code déjà existant.

Dans le tutoriel suivant ’tutoriel Java N°10 ’, vous allez découvrir d’autres concepts clés de Java : la surcharge et la redéfinition’.

Donner votre avis sur ce Tuto objis.com