⊗ppOpIhCn 30 of 107 menu

Constructeur lors de l'héritage en POO en PHP

Lors de l'héritage, il est possible de redéfinir le constructeur du parent. Regardons un exemple. Supposons que nous ayons la classe parente suivante :

<?php class User { private $name; private $surn; public function __construct($name, $surn) { $this->name = $name; $this->surn = $surn; } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

Supposons que la classe suivante hérite de la classe parente :

<?php class Student extends User { } ?>

Supposons que nous voulions dans la classe enfant étendre le constructeur, en y ajoutant des paramètres supplémentaires :

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { } } ?>

Dans ce cas, nous devons impérativement appeler en première ligne le constructeur du parent via parent::__construct() :

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

La commande parent::__construct() est en substance le constructeur du parent. Donc passons-lui les paramètres requis :

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

Maintenant, dans l'enfant, l'année d'étude sera enregistrée dans sa propre propriété de l'enfant :

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } } ?>

Créons un getter pour l'année d'étude :

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } public function getYear() { return $this->year; } } ?>

Supposons que la classe Employee hérite de la classe User de cette leçon.

Redéfinissez dans la classe Employee le constructeur du parent, en y ajoutant un paramètre pour l'âge et le salaire.

Créez des getters pour l'âge et le salaire.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser