Untergeordnete Klassenfunktionen aus der übergeordneten Klasse aufrufen
In PHP ist es möglich, eine Funktion aus einer untergeordneten Klasse innerhalb einer übergeordneten Klasse aufzurufen, aber es erfordert sorgfältige Planung.
Betrachten Sie das folgende Codebeispiel:
<code class="php">class whale { ... } class fish extends whale { ... }</code>
In diesem Beispiel haben wir eine Walklasse und eine Fischklasse, die davon erbt. Das Ziel besteht darin, die test()-Funktion aus der Fischklasse innerhalb der myfunc()-Funktion der Walklasse aufzurufen.
Lösung: Abstrakte Klassen verwenden
Um dies zu erreichen Dadurch können wir abstrakte Klassen nutzen. Eine abstrakte Klasse erzwingt die Implementierung bestimmter Methoden in ihren untergeordneten Klassen.
<code class="php">abstract class whale { function __construct() { ... } function myfunc() { $this->test(); } abstract function test(); }</code>
In der aktualisierten Whale-Klasse deklarieren wir jetzt myfunc() und test() als abstrakte Methoden. myfunc() ruft test() auf, das in der untergeordneten Klasse implementiert werden muss.
<code class="php">class fish extends whale { function __construct() { parent::__construct(); } function test() { echo "So you managed to call me !!"; } }</code>
In der Fischklasse stellen wir eine Implementierung für test() bereit. Dadurch wird sichergestellt, dass die abstrakten Anforderungen der übergeordneten Klasse erfüllt werden.
Mit diesem Setup können wir nun die test()-Funktion von fish innerhalb myfunc() der Whale-Klasse aufrufen.
<code class="php">$fish = new fish(); $fish->test(); // Output: So you managed to call me !! $fish->myfunc(); // Output: So you managed to call me !!</code>
Durch die Verwendung abstrakter Klassen erzwingen wir eine ordnungsgemäße Vererbung und stellen sicher, dass untergeordnete Klassen die erforderlichen Methoden implementieren. Dadurch können wir untergeordnete Klassenfunktionen nahtlos von übergeordneten Klassen aufrufen.
Das obige ist der detaillierte Inhalt vonWie rufe ich untergeordnete Klassenfunktionen aus der übergeordneten Klasse in PHP mithilfe abstrakter Klassen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!