le polymorphisme est un aspect de la programmation objet, l'idée est de pouvoir manipuler des objets dont le type peut changer tout en gardant des caractéristique communes.
L'exemple de l'aire des formes géométriques. On fait un programme en java pour calculer l'aire de plusieurs formes géométrique crées par l'utilisateur. Donc on n'a pas de contrôles sur la nature de ces formes. on va avoir une Interface "Forme", une classe "Polygone" qui implémente cette interface , une classe "PolygoneRegulier" qui hérite de "Polygone", Des classes "Carre", "Rectangle" ... qui héritent de "PolygoneRegulier".
L'interface propose un méthode "aire()" donc Polygone doit implémenter une méthode pour calculer l'aire du polygone quelconque. Et chaque classe qui hérite Polygone de peut redéfinir cette méthode.
lors de l'exécution du programme toutes les formes seront déclaré de type statique Forme mais leur type dynamique correspondra à leur nature réel Carre Rectangle etc ... le polymorphisme va permettre d'appeler la méthode "aire()" correspondant au type dynamique de l'objet.
++
-On va économiser des ressources car la méthode aire() de Carre est beaucoup plus légère que celle de Polygone.
-On factorise du code sur les méthodes communes au objets de type différents. le code est plus simple à mettre à jour, à étendre, et à corriger.
--
-Ça fait aussi taper beaucoup de code (heureusement éclipse le fait à ma place).
-L'arborescence d'héritage peut ètre monstrueuse, ou pire mal réfléchie à l'origine se qui produit beaucoup de casse.
le principale intérêt de pouvoir utiliser des morceaux de classe existentes pour les réutiliser dans des programmes communs. En programmation java on utilise plus du polymorphime par programmation spécialisé en utlisant une classe générique que l'on spécialise peu à peu dans des cas particuliers
je te renvois à cet article un peu complexe sur la définition du polymorphisme et de l'héritage
voici la définition donnée dans "thinking in java"
Le polymorphisme fournit une autre dimension séparant la partie interface de l'implémentation qui permet de découpler le quoi du comment. Le polymorphisme améliore l'organisation du code et sa lisibilité de même qu'il permet la création de programmes extensible qui peuvent évoluer non seulement pendant la création initiale du projet mais également quand des fonctions nouvelles sont désirées.
Answers & Comments
Verified answer
le polymorphisme est un aspect de la programmation objet, l'idée est de pouvoir manipuler des objets dont le type peut changer tout en gardant des caractéristique communes.
L'exemple de l'aire des formes géométriques. On fait un programme en java pour calculer l'aire de plusieurs formes géométrique crées par l'utilisateur. Donc on n'a pas de contrôles sur la nature de ces formes. on va avoir une Interface "Forme", une classe "Polygone" qui implémente cette interface , une classe "PolygoneRegulier" qui hérite de "Polygone", Des classes "Carre", "Rectangle" ... qui héritent de "PolygoneRegulier".
L'interface propose un méthode "aire()" donc Polygone doit implémenter une méthode pour calculer l'aire du polygone quelconque. Et chaque classe qui hérite Polygone de peut redéfinir cette méthode.
lors de l'exécution du programme toutes les formes seront déclaré de type statique Forme mais leur type dynamique correspondra à leur nature réel Carre Rectangle etc ... le polymorphisme va permettre d'appeler la méthode "aire()" correspondant au type dynamique de l'objet.
++
-On va économiser des ressources car la méthode aire() de Carre est beaucoup plus légère que celle de Polygone.
-On factorise du code sur les méthodes communes au objets de type différents. le code est plus simple à mettre à jour, à étendre, et à corriger.
--
-Ça fait aussi taper beaucoup de code (heureusement éclipse le fait à ma place).
-L'arborescence d'héritage peut ètre monstrueuse, ou pire mal réfléchie à l'origine se qui produit beaucoup de casse.
le principale intérêt de pouvoir utiliser des morceaux de classe existentes pour les réutiliser dans des programmes communs. En programmation java on utilise plus du polymorphime par programmation spécialisé en utlisant une classe générique que l'on spécialise peu à peu dans des cas particuliers
je te renvois à cet article un peu complexe sur la définition du polymorphisme et de l'héritage
voici la définition donnée dans "thinking in java"
Le polymorphisme fournit une autre dimension séparant la partie interface de l'implémentation qui permet de découpler le quoi du comment. Le polymorphisme améliore l'organisation du code et sa lisibilité de même qu'il permet la création de programmes extensible qui peuvent évoluer non seulement pendant la création initiale du projet mais également quand des fonctions nouvelles sont désirées.
http://www.pps.jussieu.fr/~rifflet/JAVA/polymorphi...
tout sur le polymorphisme:
http://commentcamarche.net/contents/poo/polymorp.p...
http://futura-sciences.com/fr/definition/t/vie/d/p...
salut !