Avec Objis, spécialiste Java depuis 2005, 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.
Auteur
Douglas MBIANDOU. Président Objis . Concepteur formation ‘Nouveautés Java 8 et 9’
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
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
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”
Pour faire hériter une classe d’une superclasse, Java fournit le mot-clé extends
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 .
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
Instanciation
initialisons avec des paramétres par défaut pour le constructeur
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
Nous pouvons modifier les attributs nom, prenom et id en passant par les setters hérités de Employe
En ajoutant la ligne “System.out.println(man);” à la méthode “main()”
Lancez l’application en cliquant sur le bouton “run”
Constatez le résultat sur la vue “console”
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 :
Expliquez le rôle de la méthode toString(). D’où vient cette méthode ?
CORRECTION
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
Professionnels : maîtrisez les nouveautés Java 8 et 9 !
A travers notre nouvelle formation Nouveautés Java 8 et 9 (durée 4 jours) conçue par l’auteur de ce tutoriel, découvrez par la pratique le nouveau système de Modules Java 9 (Encapsulation forte + Intercafes + Dépendances explicites) ainsi que les spécificités de Java 8 (Streams, Lambda, Optional…). Maîtrisez également la méthodologie de migration de votre code vers Java 9. Un sérieux atout pour votre employabilité et l’évolution de votre carrière professionnelle !. Contactez-nous dès maintenant !