Abstract Class
PHP 🟡 MidDéfinition
Classe qui ne peut pas être instanciee directement et qui sert de modèle. Elle peut contenir des méthodes abstraites (sans corps) et des méthodes concrètes.
Analogie
Comme un plan d'architecte : il définit la structure mais on ne peut pas y habiter, il faut d'abord construire la maison.
Exemple de code
abstract class Shape {
abstract public function area(): float;
public function describe(): string {
return get_class($this) . ': ' . $this->area();
}
}
Cas d'usage
Quand plusieurs classes partagent une logique commune mais doivent chacune implémenter certains comportements spécifiques.
Anti-pattern
Utiliser une classe abstraite la ou une interface suffirait, créant un couplage inutile.