En PHP, une tâche courante consiste à invoquer des fonctions définies dans les classes enfants à partir des classes parents. Prenons l'exemple suivant :
<code class="php">class whale { public function __construct() { // some code here } public function myfunc() { // How do I call the "test" function of the fish class here? } } class fish extends whale { public function __construct() { parent::__construct(); } public function test() { echo "So you managed to call me !!"; } }</code>
Une solution consiste à utiliser des classes abstraites, qui définissent des fonctions essentielles qui doivent être implémentées en héritant des classes. Voici un code modifié :
<code class="php">abstract class whale { public function __construct() { // some code here } public function myfunc() { $this->test(); } abstract public function test(); } class fish extends whale { public function __construct() { parent::__construct(); } public function test() { echo "So you managed to call me !!"; } } $fish = new fish(); $fish->test(); $fish->myfunc();</code>
Avec cette modification, vous pouvez invoquer la fonction test de la classe fish depuis la fonction myfunc de la classe baleine en appelant $this->test(). Cette approche garantit que les classes enfants doivent implémenter la fonction de test.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!