Classe Abstraite

DéfinitionAbstraite

Une classe abstraite (mot-clé abstract) est une classe qui ne peut pas être instanciée (on ne peut pas faire new dessus). Elle sert de modèle pour ses classes enfants.

Elle peut contenir des méthodes normales (avec du code) et des méthodes abstraites (sans code). Toute classe enfant doit obligatoirement implémenter (définir) toutes les méthodes abstraites de son parent.

L’intérêt est de rendre obligatoire la création de certaines méthodes dans les classes enfants. Cette contrainte permet d'assurer une certaine rigueur de codage dans un projet de groupe.

Représentation UML de la classe Abstraite
1
abstract class ClasseAbstraite {
2
  public attribut;
3
  public function methode(){...};
4
  abstract public function methodeAbstraiteARedefinir();
5
}
6
7
class ClasseFille extends ClasseAbstraite {
8
  public function methodeAbstraiteARedefinir(){...};
9
}

Attention

Une classe enfant qui ne redéfinie pas toutes les classes abstraites reste elle-même une classe abstraite. Elle ne pourra donc pas être instanciée.