Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rufe ich Funktionen von untergeordneten Klassen aus übergeordneten Klassen in PHP auf?

Wie rufe ich Funktionen von untergeordneten Klassen aus übergeordneten Klassen in PHP auf?

DDD
DDDOriginal
2024-10-19 08:28:30866Durchsuche

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

So rufen Sie Funktionen von untergeordneten Klassen aus übergeordneten Klassen in PHP auf

In PHP besteht eine häufige Aufgabe darin, in untergeordneten Klassen definierte Funktionen aus übergeordneten Klassen aufzurufen. Betrachten Sie das folgende Beispiel:

<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>

Lösung

Eine Lösung besteht darin, abstrakte Klassen zu verwenden, die wesentliche Funktionen definieren, die durch die Vererbung von Klassen implementiert werden müssen. Hier ist ein modifizierter Code:

<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>

Mit dieser Modifikation können Sie die Testfunktion der Fischklasse aus der myfunc-Funktion der Walklasse aufrufen, indem Sie $this->test() aufrufen. Dieser Ansatz stellt sicher, dass untergeordnete Klassen die Testfunktion implementieren müssen.

Das obige ist der detaillierte Inhalt vonWie rufe ich Funktionen von untergeordneten Klassen aus übergeordneten Klassen 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