Abstract Class

PHP 🟡 Mid

Definition

Classe qui ne peut pas etre instanciee directement et qui sert de modele. Elle peut contenir des methodes abstraites (sans corps) et des methodes concretes.

Analogie

Comme un plan d'architecte : il definit 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 implementer certains comportements specifiques.

Anti-pattern

Utiliser une classe abstraite la ou une interface suffirait, creant un couplage inutile.
#core#interview#oop