L'héritage est un concept central dans la programmation orientée objet, qui permet de créer de nouvelles classes sur la base de classes existantes. Avec l'héritage, tu peux réutiliser du code et simplifier la structure de tes programmes. Ce guide te présentera les aspects fondamentaux de l'héritage en PHP et te montrera, à travers un exemple concret, comment mettre en œuvre ce concept de manière efficace dans tes projets.
Principales conclusions
- L'héritage permet de dériver une nouvelle classe d'une classe existante.
- Les propriétés et méthodes de la classe de base sont héritées par la classe dérivée.
- Les méthodes peuvent être redéfinies dans la classe dérivée pour implémenter un comportement spécifique.
Guide étape par étape pour l'héritage en PHP
1. Définition de la classe de base
Commence par définir une classe de base. Dans cet exemple, nous allons créer une classe Voiture qui contient une fonction de base pour l'accélération. Cette classe a une propriété publique pour la vitesse et une méthode pour augmenter la vitesse.

Avec cette structure, notre Voiture est capable d'augmenter sa vitesse lorsque la méthode accélérer est appelée.
2. Création d'une classe dérivée
Maintenant que notre Voiture de base est définie, nous allons créer une classe dérivée appelée VoitureDeCourse. Cette classe étend la fonctionnalité de la classe Voiture en héritant de la classe de base.

En utilisant extends, la classe VoitureDeCourse est subordonnée à la classe Voiture. Cela donne à la VoitureDeCourse accès à ses propriétés et méthodes.
3. Instanciation d'objets
Nous pouvons maintenant instancier à la fois une Voiture normale et une Voiture de Course. Cela nous donne la possibilité de tester les méthodes des deux classes.

Nous voyons ici que la voitureNormale et la voitureDeCourse ont leurs propres instances et peuvent toutes deux appeler la méthode accélérer.
4. Redéfinition de méthodes
Dans la classe VoitureDeCourse, nous pouvons redéfinir la méthode accélérer pour introduire un comportement plus sophistiqué.

Avec parent::accélérer() nous appelons la méthode de la classe parente et ajoutons ensuite une logique supplémentaire pour tirer parti du turbo.
5. Accès aux propriétés et méthodes
Si tu souhaites maintenant afficher la vitesse des deux véhicules, tu peux accéder à la propriété vitesse.

Ces sorties affichent les vitesses actuelles des deux voitures.
6. Comprendre la polymorphie
Un thème central dans le contexte de l'héritage est la polymorphie. Il s'agit de l'utilisation de la même méthode dans des contextes différents. Un exemple est que la Voiture et la VoitureDeCourse disposent toutes deux de la méthode accélérer, mais celle-ci est implémentée différemment.

Grâce à cette fonctionnalité, tu peux faire accélérer n'importe quel type de véhicule via la même interface.
7. Conclusion sur l'héritage
L'héritage est un outil puissant en PHP qui te permet d'étendre des classes existantes et de créer du code réutilisable. Cela te permet de structurer efficacement des applications complexes. La possibilité de redéfinir des méthodes signifie que tu peux implémenter des comportements spécifiques dans des classes dérivées sans avoir à réécrire toute la logique.
Résumé - Programmation orientée objet avec PHP: comprendre l'héritage
Le traitement de l'héritage en PHP te permet de maintenir une approche structurée dans le développement de ton logiciel. Tu peux concevoir des classes qui construisent les unes sur les autres et facilitent ton travail.
Questions fréquemment posées
Quel est l'avantage de l'héritage en PHP?L'héritage favorise la réutilisabilité du code et simplifie la structure logicielle.
Comment puis-je redéfinir une méthode dans une classe dérivée?Utilise la même signature de méthode et éventuellement parent::nomDeMéthode() pour utiliser les méthodes parent.
Qu'est-ce que la polymorphie?La polymorphie se réfère à la capacité d'implémenter la même méthode de différentes manières, en fonction de l'instance de l'objet.
Que se passe-t-il si je redéfinis plusieurs méthodes?Chaque méthode peut être spécifique à la classe dérivée, entraînant des comportements différents.
Y a-t-il des termes alternatifs pour l'héritage?Oui, dans la littérature spécialisée, on parle souvent d'"octroi" ou de "formation de sous-classe".