Extrait du cours programmation Java Héritage et polymorphisme
Principe de l’héritage
– Besoins : éviter de dupliquer du code (attributs et méthodes) dans différentes classes qui partagent des caractéristiques communes
o facilite les modifications futures => elles n’ont besoin d’être faites qu’à un seul endroit
o représentation explicite d’une logique d’héritage des concepts du domaine (relation “est-un”)
Syntaxe
– Le mot-clé “extends”
Exemple simple et héritage des attributs
– Pour la gestion d’une bibliothèque on nous demande d’écrire une application traitant des documents de nature diverse : des livres, des revues, des dictionnaires, etc. Les livres, à leur tour, peuvent être des romans ou des manuels.
– Tous les documents ont un numéro d’enregistrement (un entier) et un titre (une chaîne de caractères). Les livres ont, en plus, un auteur (une chaîne) et un nombre de pages (un entier). Les romans ont éventuellement un prix littéraire (un entier conventionnel, parmi : GONCOURT, MEDICIS, INTERALLIE, etc.), tandis que les manuels ont un niveau scolaire (un entier). Les revues ont un mois et une année (des entiers) et les dictionnaires ont une langue (une chaîne de caractères convenue, comme « anglais », « allemand », « espagnol », etc.).
– Tous les objets en question ici (livres, revues, dictionnaires, romans, etc.) doivent pouvoir être manipulées en tant que documents.
– => Schéma des classes
– => ATTENTION : Il faut vérifier la logique de votre schéma notamment qu’il est possible de dire par exemple un “Roman” est-un “Livre”
– => Déclaration en Java des classes
– => ATTENTION : ne pas redéclarer les attributs hérités dans les sous-classes !
– => Allocation des objets dans la mémoire : allocation automatique des attributs
Vocabulaire :
– classe-mère / super-classe : ……………………………………………………………..
– sous-classe / classe dérivée : …………………………………………………………….
– La classe …………… étend / hérite de la classe …………………………………
Hiérarchie des classes du JDK
– parcourir l’arborescence des classes dans la javadoc : “tree”
– la classe mère de toutes les classes en Java est : …………………;
Héritage des méthodes
– But : réutilisation des fonctionnalités de la classe héritée
– Exemple
o Forme :
– attributs : x, y, couleur
– methode afficher ()
o Cercle
– attribut spécifique : ……….
o Main () : création d’une forme et d’un cercle, affichage des attributs
……..
Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours Programmation Java Héritage et polymorphisme (557 KO) (Cours PDF)