„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie rufe ich untergeordnete Klassenfunktionen aus der übergeordneten Klasse in PHP mithilfe abstrakter Klassen auf?

Wie rufe ich untergeordnete Klassenfunktionen aus der übergeordneten Klasse in PHP mithilfe abstrakter Klassen auf?

Veröffentlicht am 01.11.2024
Durchsuche:516

How to Call Child Class Functions from Parent Class in PHP Using Abstract Classes?

Aufrufen von Funktionen einer untergeordneten Klasse aus einer übergeordneten Klasse

In PHP ist es möglich, eine Funktion aus einer untergeordneten Klasse innerhalb einer übergeordneten Klasse aufzurufen, aber es erfordert eine sorgfältige Planung.

Betrachten Sie das folgende Codebeispiel:

class whale { ... }
class fish extends whale { ... }

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: Verwenden Sie abstrakte Klassen

Um dies zu erreichen Dadurch können wir abstrakte Klassen nutzen. Eine abstrakte Klasse erzwingt die Implementierung bestimmter Methoden in ihren untergeordneten Klassen.

abstract class whale {
  function __construct() { ... }
  function myfunc() { $this->test(); }
  abstract function test();
}

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.

class fish extends whale {
  function __construct() { parent::__construct(); }
  function test() { echo "So you managed to call me !!"; }
}

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.

$fish = new fish();
$fish->test(); // Output: So you managed to call me !!
$fish->myfunc(); // Output: So you managed to call me !!

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.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729297456 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3