Comment appeler les fonctions des classes enfants à partir des classes parents en PHP ?

DDD
Libérer: 2024-10-19 08:28:30
original
865 Les gens l'ont consulté

How to Call Functions of Child Classes from Parent Classes in PHP?

Comment appeler les fonctions des classes enfants à partir des classes parents en PHP

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>
Copier après la connexion

Solution

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!