Aller au contenu

abstrait

Comprendre le mot-clé abstract en PHP

En PHP, le mot-clé abstract est utilisé pour définir des classes et des méthodes abstraites. Une classe abstraite est une classe qui ne peut pas être instanciée et qui est destinée à être sous-classée par d'autres classes. Une méthode abstraite est une méthode déclarée dans une classe abstraite mais qui ne fournit pas d'implémentation.

Qu'est-ce qu'une classe abstraite ?

Une classe abstraite est une classe qui ne peut pas être instanciée. Elle est destinée à être sous-classée par d'autres classes, qui peuvent fournir des implémentations concrètes de ses méthodes abstraites. Une classe abstraite peut contenir à la fois des méthodes abstraites et non abstraites. Cependant, si une classe contient au moins une méthode abstraite, elle doit être déclarée comme abstraite.

Qu'est-ce qu'une méthode abstraite ?

Une méthode abstraite est une méthode déclarée dans une classe abstraite mais qui ne fournit pas d'implémentation. À la place, l'implémentation est fournie par une sous-classe de la classe abstraite. Une méthode abstraite est déclarée à l'aide du mot-clé abstract et ne comprend pas de corps de méthode.

Comment définir une classe et une méthode abstraites en PHP

Pour définir une classe abstraite en PHP, utilisez le mot-clé abstract avant le mot-clé class. Une méthode abstraite est déclarée à l'intérieur de la classe à l'aide du mot-clé abstract, suivi du modificateur de visibilité, du nom de la méthode et des paramètres, mais sans corps de méthode.

php
<?php

abstract class Animal {
   abstract public function makeSound();
}

Toute classe qui étend la classe abstraite doit implémenter toutes ses méthodes abstraites. Voici un exemple pratique :

php
<?php

class Dog extends Animal {
   public function makeSound() {
      echo "Woof!";
   }
}

$dog = new Dog();
$dog->makeSound(); // Output: Woof!

Remarque : Les méthodes abstraites ne peuvent pas être déclarées comme private ou static en PHP. Elles doivent être public ou protected.

Conclusion

Le mot-clé abstract en PHP est utilisé pour définir des classes et des méthodes abstraites. Une classe abstraite ne peut pas être instanciée et est destinée à être sous-classée par d'autres classes. Une méthode abstraite est une méthode déclarée dans une classe abstraite mais qui ne fournit pas d'implémentation. À la place, l'implémentation est fournie par une sous-classe de la classe abstraite. Comprendre comment utiliser le mot-clé abstract en PHP peut vous aider à écrire un code plus efficace et performant.

Pratique

Quelles sont les règles concernant les classes et méthodes abstraites en PHP telles qu'expliquées sur w3docs.com ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.