3- Héritages

Héritages

L’héritage en PHP permet de créer une nouvelle classe qui héritera des propriétés et des méthodes d’une classe parent et qui pourra, si on le souhaite, redéfinir certaines propriétés et méthodes.

Dans les diapositives précédentes, nous avons créé un objet « Compte » qui permet de créer un compte bancaire.

Il existe cependant plusieurs types de comptes bancaires, certains offrent une possibilité de découvert, d’autres permettent de toucher des intérêts.

Nous allons donc modifier notre objet « Compte » pour pouvoir gérer des « sous-objets » qui en hériteront.

Pour éviter d’instancier notre classe « Compte« , nous allons la passer en classe abstraite par le mot clé « abstract« .

Elle ne pourra donc plus être instanciée directement.

Une classe abstraite n’’est pas « instanciable » et ne pourra donc pas « fabriquer » d’objets.

la classe Compte sera abstraite.

Elle servira de classe modèle pour celles qui en hériteront

De plus, toutes les propriétés qui pourront être manipulées dans le « sous-objet » devront être en visibilité « public » ou « protected« . En effet, les propriétés en visibilité « private » ne sont pas disponibles par héritage.

Nous allons créer deux classes qui hériteront de la classe « Compte« . Elles s’appelleront « CompteCourant » et « CompteEpargne » dans les fichiers du même nom.

Nous devrons, pour le moment, appeler chacun des fichiers avant de pouvoir les utiliser. Nous verrons dans l’article suivant une méthode pour charger automatiquement tous les fichiers nécessaires.

Le compte courant

Focalisons-nous sur le compte courant.

C’est un compte bancaire dans lequel nous allons autoriser un découvert.

Son constructeur nécessitera au moins les informations du compte bancaire (titulaire et solde).

Le constructeur sera donc le suivant

Nous pourrons donc instancier un compte courant de cette façon

Etant donné que notre compte devra bénéficier d’un découvert, nous pourrons avoir un solde négatif jusqu’au montant du découvert.

Nous devrons donc modifier la méthode « retirer » pour le « CompteCourant » spécifiquement.

Nous écrirons donc

SURCHARGER UNE METHODE

Appelé aussi « override ».

Lors d’un héritage, surcharger une méthode permet d’utilise une fonction existante de la classe mère dans la classe fille tout en modifiant le comportement initialement prévu de celle-ci.

Enfin, la propriété « decouvert » étant privée, nous allons écrire ses accesseurs (Getter et Setter)

Le compte épargne

Pour le compte épargne, nous allons procéder de façon similaire afin de mettre en place le versement des intérêts.

Nous aurons donc une propriété « taux_interets » qui correspondra au taux d’intérêts du compte et un constructeur en conséquence. Nous allons choisir de rendre obligatoire la déclaration de ce taux dans le constructeur.

Enfin, pour verser les intérêts, nous écrivons une méthode comme ceci

Sans oublier les accesseurs du taux d’intérêts

Retour Plan Cours