Retour au cours

Pillier 4 de l'OOP : Abstraction à l'aide de Classes Abstraites

Maîtrise de Java : De Zéro à Développeur Professionnel (Un parcours en 50 leçons)

Leçon 24 : Pillier 4 de l'OOP : Abstraction à l'aide de Classes Abstraites

L'Abstraction consiste à ne montrer que les informations essentielles à l'utilisateur et à masquer les détails d'implémentation complexes. Elle se concentre sur ce que fait un objet plutôt que sur comment il le fait.

1. Classes Abstraites

  • Une classe abstraite est déclarée à l'aide du mot-clé abstract.
  • Elle peut contenir à la fois des méthodes implémentées (concrètes) et des méthodes non implémentées (abstraites).
  • Crucialement : Vous ne pouvez pas créer d'objets (instances) d'une classe abstraite.

2. Méthodes Abstraites

  • Une méthode abstraite est une méthode déclarée sans implémentation (pas de corps, se termine par un point-virgule).
  • Toute classe contenant une ou plusieurs méthodes abstraites doit être déclarée abstraite.
  • Les sous-classes doivent fournir des implémentations pour toutes les méthodes abstraites héritées, sinon elles doivent également être déclarées abstraites.

Exemple

java public abstract class Shape { // Classe abstraite String color;

// Méthode concrète (implémentée)
public void printColor() {
    System.out.println("Couleur : " + color);
}

// Méthode abstraite (sans corps) - force les sous-classes à l'implémenter
public abstract double calculateArea(); 

}

// La sous-classe doit implémenter la méthode abstraite public class Circle extends Shape { private double radius = 5.0;

@Override
public double calculateArea() {
    return Math.PI * radius * radius;
}

}

// Utilisation : // Shape s = new Shape(); // ERREUR ! Impossible d'instancier une classe abstraite Shape c = new Circle(); // OK (Polymorphisme) double area = c.calculateArea();

Les classes abstraites sont parfaites pour partager du code commun tout en imposant des implémentations spécifiques pour les comportements critiques à travers des sous-classes liées.