Passer au contenu principal

Comprendre et utiliser le mot-clé final en PHP

Le mot-clé final est utilisé pour empêcher l’héritage d’une classe ou la redéfinition d'une méthode ou une constante.

<?php

final class MaClasse {
    //...
}

// Cette ligne générera une erreur car on ne peut pas hériter d'une classe finale
class UneAutreClasse extends MaClasse {}; 

?>
<?php

class MaClasse {
    final public function maMethode() {
        //...
    }
}

class ClasseEnfant extends MaClasse {
    // Cette ligne générera une erreur car on ne peut pas surcharger une méthode finale
    public function maMethode() {
        //...
    }
}

?>

Les propriétés ne peuvent pas être déclarées comme final, seules les classes, les méthodes et les constantes.

Les méthodes privées ne peuvent pas être déclaré finale à l'exception du constructeur.