Introduction au polymorphisme

Introduction à la programmation orientée objet en Java

Sani Yusuf

Lead Software Engineering Content Developer

Démonstration du polymorphisme

  • Le polymorphisme, en programmation orientée objet (POO), permet aux objets d'exister sous plusieurs formes
  • Illustration de l'héritage de classes

  // Classe abstraite Car
  abstract class Car {

    // Méthode abstraite drive
    abstract void drive(); 
    // Aucune implémentation 

  }

  // La classe Toyota hérite de Car
  class Toyota extends Car {  

  }
  // La classe Tesla hérite de Car
  class Tesla extends Car {  

  }
  // La classe Lamborghini hérite de Car
  class Lamborghini extends Car {          

  }
Introduction à la programmation orientée objet en Java

Redéfinition de méthodes

  • Le mot-clé @Override permet de fournir des implémentations personnalisées de méthodes
  // Classe abstraite Car
  abstract class Car {

    // Méthode abstraite drive
    abstract void drive(); 
    // Aucune implémentation 

  }


 class Toyota extends Car {  
   @Override // Mot-clé pour redéfinir
    void drive() {
      // Implémentation spécifique à Toyota
    }  
 }
 class Tesla extends Car {   
   @Override
    void drive() {
      // Implémentation spécifique à Tesla
    } 
 }
 class Lamborghini extends Car {  
   @Override
    void drive() {
      // Implémentation spécifique à Lamborghini
    }   
 }
Introduction à la programmation orientée objet en Java

Redéfinir les méthodes d'interface


  // Interface ElectricCar
  interface ElectricCar {

    abstract void charge(); 
    // Aucune implémentation 

  }


  • @Override est recommandé avec les méthodes d'interface

  // Classe Tesla implémentant 
  // l'interface ElectricCar
  class Tesla implements ElectricCar {

    // La méthode charge doit être implémentée
    @Override
    void charge(){
      // Implémentation de charge propre à Tesla
      // Héritage sélectif via l'interface
    }          
  }













Introduction à la programmation orientée objet en Java

Surcharge de méthodes

  • La surcharge autorise plusieurs méthodes de même nom avec des implémentations différentes

  // Classe Toyota 
  class Toyota {   

    void drive() {
      // Première implémentation de drive
    }

// Méthode drive surchargée void drive(int topSpeed) { // Deuxième implémentation de drive } }
Introduction à la programmation orientée objet en Java

Surcharger le constructeur

  • Les constructeurs peuvent être surchargés pour en avoir plusieurs dans la même classe
  // Classe Honda
  class Honda {
    // Premier constructeur
    public Honda(String color,
                 String model) {

    }

// Deuxième constructeur public Honda(String color, String model, String licensePlate) { } }

  public class Main {  
    public static void main(
      String[] args) {

      // Utilisation du premier constructeur
      Honda hondaOne = 
        new Honda("Red", "Accord");


// Utilisation du deuxième constructeur Honda hondaTwo = new Honda("Red", "Civic", "FST-1977"); } }
Introduction à la programmation orientée objet en Java

Passons à la pratique !

Introduction à la programmation orientée objet en Java

Preparing Video For Download...