"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo llamar funciones de clases secundarias desde clases principales en PHP?

¿Cómo llamar funciones de clases secundarias desde clases principales en PHP?

Publicado el 2024-11-04
Navegar:479

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

Cómo llamar funciones de clases secundarias desde clases principales en PHP

En PHP, una tarea común es invocar funciones definidas en clases secundarias desde las clases principales. Considere el siguiente ejemplo:

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 !!";
  }
}

Solución

Una solución es utilizar clases abstractas, que definen funciones esenciales que deben implementarse heredando clases. Aquí hay un código modificado:

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();

Con esta modificación, puede invocar la función de prueba de la clase fish desde la función myfunc de la clase ballena llamando a $this->test(). Este enfoque garantiza que las clases secundarias deben implementar la función de prueba.

Declaración de liberación Este artículo se reimprime en: 1729297696 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3