Le Polymorphisme : Mise en pratique

Introduction

Dans cette mise en pratique, nous allons voir comment l'intérêt du Polymorphisme. Le polymorphisme est le fait qu'une classe mère peut prendre plusieurs formes (poly : plusieurs, morphisme : forme). Avec le polymorphisme nous pouvons donc écrire sans que cela pose problème :

Forme monDessin = new Cercle() ;
Forme monDessin = new Rectangle() ;

Un instant !

C'est possible évidemment seulement si Cercle et Rectangle héritent de Forme :

Exemple UML

Exercice 1

Écrire les classes nécessaires au fonctionnement du programme suivant, pour cet exercice vous ne fournirez seulement les les méthodes nécessaires au fonctionnement.

Évidemment…

Vous n'oublierez pas de commenter votre code !

Le PHP ne permettant pas d'illustrer entièrement le polymorphisme nous allons travailler avec un exemple en Java

public class TestMetiers {
    public static void main(String[] argv) {
        ArrayList<Coronavirus> coronavirusList = new ArrayList<Coronavirus>();

        coronavirusList.add(new Alpha("B.1.1.7"))
        coronavirusList.add(new Beta("B.1.351"))
        coronavirusList.add(new Gamma("P.1"))
        coronavirusList.add(new Omicron("B.1.1.529"))
        coronavirusList.add(new Gamma("P.1"))
        coronavirusList.add(new Delta("B.1.617.2"))
        coronavirusList.add(new Omicron("B.1.1.529"))
        coronavirusList.add(new Alpha("B.1.1.7"))
        coronavirusList.add(new Omicron("B.1.1.529"))

        coronavirusList.forEach(element -> {
            element.affiche();
        })
    }

}

Avant d'attaquer

  • Réfléchissez à la modélisation UML.
    • Combien devons-nous créer de classe ?
  • Comment est-ce possible de sauvegarder dans une même liste des objets de type différent ?
  • Question code, comment s'appelle l'écriture à l'intérieur du ForEach ?