Définitions de Base
Classe
Une classe en PHP est une structure qui permet de créer des objets. Elle définit un type en regroupant des données et des fonctions qui agissent sur ces données.
Objet
Un objet est une instance d'une classe. C'est une entité autonome qui regroupe des propriétés et des méthodes suivant la définition de sa classe.
Héritage
L'héritage est un concept de programmation orientée objet qui permet de créer de nouvelles classes basées sur des classes existantes.
Classe Étendue
Une classe étendue est une classe qui dérive d'une autre classe, héritant de ses méthodes et propriétés tout en permettant des ajouts ou modifications.
Les Fondamentaux de l'Héritage
En PHP, l'héritage permet à une classe (appelée classe dérivée ou sous-classe) d'hériter des propriétés et des méthodes d'une autre classe (appelée classe de base ou super-classe). Cela favorise la réutilisation du code, la hiérarchisation des concepts, et facilite la maintenance et l'extension du code.
Création d'une Classe Étendue
Pour créer une classe étendue, on utilise le mot-clé
extends
en PHP. Par exemple : class Voiture {
public $marque;
public function conduire() {
echo "Conduite";
}
}
class VoitureDeCourse extends Voiture {
public $vitesseMax;
public function turbo() {
echo "Activation du turbo";
}
}
Surcharger des Méthodes
Une classe dérivée en PHP peut redéfinir les méthodes de sa classe parent pour fournir des fonctionnalités spécifiques. Cela s'appelle la surcharge de méthodes. Vous pouvez également accéder au comportement de la classe parent avec l'instruction
parent::
. Exemple :class Voiture {
public function klaxon() {
echo 'Tuut tuut';
}
}
class VoitureDeCourse extends Voiture {
public function klaxon() {
parent::klaxon();
echo ' Pssshhh';
}
}
Visibilité des Membres
PHP offre plusieurs niveaux de visibilité pour les membres d'une classe (propriétés et méthodes) :
public
, protected
, et private
. Une propriété ou méthode public
est accessible depuis n'importe où. Une propriété ou méthode protected
est accessible dans la classe qui la déclare et dans ses sous-classes. Une propriété ou méthode private
, quant à elle, est accessible uniquement dans la classe qui l'a déclarée.Utilisation Pratique et Exemples
Considérons une hiérarchie de véhicules. Nous pourrions avoir une classe de base
Vehicule
définissant des propriétés communes telles que le moteur et des méthodes comme démarrer. Des classes dérivées telles que Voiture
ou Moto
peuvent étendre Vehicule
et ajouter leur propre logique spécifique comme ajouter coffre pour Voiture
ou casque pour Moto
.Résumé des notions importantes
A retenir :
L'héritage est un concept clé en programmation orientée objet, permettant aux classes de partager des fonctionnalités communes grâce à une hiérarchie bien définie. En PHP, les classes étendues utilisent le mot-clé
extends
pour hériter de propriétés et de méthodes, favorisant la réutilisation du code. La surcharge permet aux classes dérivées de redéfinir ou d'étendre les comportements de la classe parente. Il est crucial de comprendre la visibilité des membres pour contrôler l'accès aux propriétés et méthodes dans les contextes d'héritage.