Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rufe ich Funktionen einer untergeordneten Klasse innerhalb einer übergeordneten Klasse in PHP auf?

Wie rufe ich Funktionen einer untergeordneten Klasse innerhalb einer übergeordneten Klasse in PHP auf?

DDD
DDDOriginal
2024-10-19 08:27:30186Durchsuche

How to Call Functions from a Child Class Within a Parent Class in PHP?

So rufen Sie untergeordnete Klassenfunktionen aus der übergeordneten Klasse in PHP auf

Frage:

Betrachten Sie den folgenden Code zur Veranschaulichung Herausforderung:

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

  function myfunc()
  {
  // How do I call the "test" function of fish class from here??
  }
}

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

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

}</code>

Wie können wir angesichts der oben definierten Klassen effektiv auf die „Test“-Funktion der untergeordneten Klasse („Fisch“) aus der übergeordneten Klasse („Wal“) zugreifen?

Antwort:

In diesem Szenario bietet das Konzept abstrakter Klassen in PHP eine praktikable Lösung. Eine abstrakte Klasse schreibt vor, dass alle von ihr erbenden Klassen bestimmte Funktionen oder Methoden implementieren müssen.

Überarbeiteter Code:

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

}


$fish = new fish();
$fish->test();
$fish->myfunc();</code>

Erklärung:

Indem wir „whale“ als abstrakte Klasse deklarieren und eine abstrakte Methode „test“ einschließen, erzwingen wir die Anforderung, dass untergeordnete Klassen die Funktion „test“ implementieren müssen. Dadurch kann die „myfunc“-Funktion innerhalb der „whale“-Klasse „test“ direkt aufrufen.

Hinweis: Abstrakte Klassen erlauben keine Objektinstanziierung; Daher dienen sie lediglich als Blaupause für untergeordnete Klassen, um die erforderlichen Methoden zu erben und zu implementieren.

Das obige ist der detaillierte Inhalt vonWie rufe ich Funktionen einer untergeordneten Klasse innerhalb einer übergeordneten Klasse in PHP auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn