Maison  >  Article  >  développement back-end  >  Comment accéder aux méthodes de classe enfant à partir d’une classe parent en PHP ?

Comment accéder aux méthodes de classe enfant à partir d’une classe parent en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-19 08:30:02139parcourir

How to Access Child Class Methods from a Parent Class in PHP?

PHP : accès aux méthodes de classe enfant à partir d'une classe parent

Souvent, lorsqu'ils travaillent avec l'héritage en PHP, les développeurs rencontrent le besoin d'accéder aux fonctions d'une classe enfant au sein de la classe parent. Ceci peut être réalisé grâce à un mécanisme puissant : les classes abstraites.

Considérez l'exemple de code :

<code class="php">class whale
{
  function __construct()
  {
    // some code here
  }

  function myfunc()
  {
    // how do i call the "test" function of fish class here??
  }
}

class fish extends whale
{
  function __construct()
  {
    parent::__construct();
  }

  function test()
  {
    echo "So you managed to call me !!";
  }
}</code>

Pour accéder à la fonction "test" depuis la classe "baleine", nous pouvons déclarer la classe parent comme abstraite et définir une méthode abstraite correspondant à la fonction de la classe enfant.

<code class="php">abstract class whale
{
  function __construct()
  {
    // some code here
  }

  function myfunc()
  {
    $this->test();
  }

  abstract function test();
}

class fish extends whale
{
  function __construct()
  {
    parent::__construct();
  }

  function test()
  {
    echo "So you managed to call me !!";
  }
}</code>

Désormais, toute classe héritant de "whale" sera obligée d'implémenter la méthode "test". Cela garantit que toutes les classes enfants ont accès aux fonctionnalités fournies par la méthode abstraite.

En implémentant cette approche, vous pouvez accéder aux fonctions de la classe enfant depuis la classe parent, permettant ainsi un modèle d'héritage flexible et extensible en PHP.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn