Rendre la classe car abstraite

Introduction à la programmation orientée objet en Java

Sani Yusuf

Lead Software Engineering Content Developer

Expliquer la classe abstraite

  • Le terme Car sert seulement d'espace réservé
  • Il faut encore préciser le type de voiture

Toyota

Mercedes

Introduction à la programmation orientée objet en Java

Analogie alimentaire pour la classe abstraite

  • On ne demande jamais juste de la nourriture au restaurant
  • On précise toujours le type d'aliment voulu
    • pain
    • pâtes
    • riz

Pain

Pâtes

Riz

Introduction à la programmation orientée objet en Java

Comprendre les classes abstraites

  • Les classes abstraites regroupent des caractéristiques pour les classes dérivées
  • On ne peut pas créer d'instances d'une classe abstraite
  • En général, elles n'ont pas d'implémentation de code
Introduction à la programmation orientée objet en Java

Classe abstraite Car


  // Car abstract class
  abstract class Car {    
    // abstract drive method
     abstract void drive(); // No Code Implementation 

  }








Introduction à la programmation orientée objet en Java

Méthodes abstraites

  • Les méthodes abstraites n'ont pas d'implémentation
  • La classe qui hérite doit implémenter les méthodes abstraites

   // Car abstract class
  abstract class Car {    
    // abstract drive method
     abstract void drive(); // No Code  
                            // implementation
  }





  // Toyota class 
  class Toyota extends Car {  
     void drive(){
      // Toyota drive() implementation
    }           
  }
  // Porsche class
  class Porsche extends Car {  
     void drive(){
      // Porsche drive() implementation
    }           
  }
Introduction à la programmation orientée objet en Java

Créer des méthodes concrètes

  • Les méthodes concrètes ont une implémentation de code
  • Les sous-classes n'ont pas à réimplémenter les méthodes concrètes

  // abstract Car class
  abstract class Car {
    private int topSpeed;

    // Concrete method with implementation
    public getTopSpeed(){
         return this.topSpeed;
    }

    abstract void drive(); 
    // No Code Implementation        
  }

Introduction à la programmation orientée objet en Java

Passons à la pratique !

Introduction à la programmation orientée objet en Java

Preparing Video For Download...