Heim > Backend-Entwicklung > PHP-Tutorial > Warum erhalte ich „Die Deklaration von childClass::customMethod() sollte mit der von parentClass::customMethod() kompatibel sein'?

Warum erhalte ich „Die Deklaration von childClass::customMethod() sollte mit der von parentClass::customMethod() kompatibel sein'?

Mary-Kate Olsen
Freigeben: 2024-10-28 20:28:02
Original
703 Leute haben es durchsucht

Why Am I Getting

In PHP müssen Methodendeklarationen mit übergeordneten Methoden kompatibel sein

PHP-Programmierer erhalten möglicherweise die folgende Fehlermeldung:

Strict Standards: Declaration of childClass::customMethod() should be compatible with that of parentClass::customMethod()
Nach dem Login kopieren

Dieser Fehler bedeutet a Nichtübereinstimmung zwischen der Deklaration einer Methode in einer untergeordneten Klasse und der Methodendeklaration ihrer übergeordneten Klasse.

Mögliche Ursachen:

  • Unterschiedliche Argumente: Die Methode „customMethod()“ der untergeordneten Klasse muss die gleiche Anzahl, den gleichen Typ und die gleiche Reihenfolge der Argumente haben wie die „customMethod()“ der übergeordneten Klasse.
  • Unterschied auf Zugriffsebene:Die Methode der untergeordneten Klasse muss über dieselben Werte verfügen die gleiche oder eine höhere Zugriffsebene (öffentlich/privat/geschützt) wie die Methode der übergeordneten Klasse.

Bestimmen der Kompatibilität:

Um die Kompatibilität zu verstehen, beachten Sie Folgendes Abschnitt „PHP-Handbuch“:

  • [Methodensignaturvergleich](https://www.php.net/manual/en/sprache.oop5.basic.php#sprache.oop5.basic.method-signature )
  • [Methodenüberladung](https://www.php.net/manual/en/sprache.oop5.overloading.php)

Diese Ressourcen erläutern die Kriterien für die Methode Kompatibilität, die Folgendes beinhaltet:

  • Methodenname
  • Anzahl und Art der Argumente
  • Rückgabetyp
  • Zugriffsebene

Durch die Behebung dieser Kompatibilitätsprobleme können Programmierer den Fehler beseitigen und eine ordnungsgemäße Vererbung und Methodenüberschreibung sicherstellen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich „Die Deklaration von childClass::customMethod() sollte mit der von parentClass::customMethod() kompatibel sein'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage