Cours en Devlopement Informatique

  • PROGRAMMER EN ORIENTÉ OBJET

DÉFINIR L’HÉRITAGE ET LE POLYMORPHISME POO



Principe et intérêt de l’héritage
  • Principe de l’héritage

    • Le concept de l'héritage spécifie une relation de spécialisation/généralisation entre les classes (Document : livre, revu, …/Personne : étudiant, employé…)
    • Lorsqu'une classe D hérite d'une classe B :
      • D possède toutes les caractéristiques de B et aussi, d'autres caractéristiques qui sont spécifiques à D
      • D est une spécialisation de B (un cas particulier)
      • B est une généralisation de D (cas général)
      • D est appelée classe dérivée (fille)
      • B est appelée classe de base (mère ou super-classe)
    • Tout objet instancié de D est considéré, aussi, comme un objet de type B
    • Un objet instancié de B n'est pas forcément un objet de type D

 

    • L'héritage minimise l'écriture du code en regroupant les caractéristiques communes entre classes au sein d’une seule (la classe de base) sans duplication.
    • Localisation facile, en un point unique, des sections de code.
    • La rectification du code se fait dans des endroits uniques grâce à la non redondance de description
    • L’extension ou l’ajout de nouvelles classes est favorisée surtout en cas d’une hiérarchie de classes bien conçue
    • Définition des informations et des comportements aux niveaux opportuns.
    • Rapprochement de la modélisation des systèmes d’informations aux cas réels
Types de l’héritage

éritage multiple

Héritage en cascade

Redéfinition des méthodes héritées
    • Une méthode héritée peut être redéfinie si sa version initiale n'est pas satisfaisante pour la classe dérivée
    • La redéfinition consiste à conserver l'entête de la méthode et à proposer un code différent
    • Si une méthode héritée est redéfinie, c'est uniquement la nouvelle version qui fait parti de la description de la classe dérivée
    • Si la méthode définie au niveau de la classe dérivée est de type différent, ou de paramètres différents, alors il s’agit d’une nouvelle méthode qui s’ajoute à celle héritée de la classe de base

Mécanisme de la liaison retardée

Soit C la classe réelle d'un objet o à qui on envoie un message « o.m() »

    • o.m() peut appeler la méthode m() de C ou de n’importe quelle sous-classe de C
    • Si le code de la classe C contient la définition (ou la redéfinition) d’une méthode m(), c’est cette méthode qui sera exécutée
    • Sinon, la recherche de la méthode m() se poursuit dans la classe mère de C, puis dans la classe mère de cette classe mère, et ainsi de suite, jusqu’à trouver la définition d’une méthode m() qui est alors exécutée

Principe de polymorphisme

 

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.