Maison >développement back-end >tutoriel php >Pourquoi est-ce que j'obtiens \'La déclaration de childClass::customMethod() devrait être compatible avec celle de parentClass::customMethod()\' ?

Pourquoi est-ce que j'obtiens \'La déclaration de childClass::customMethod() devrait être compatible avec celle de parentClass::customMethod()\' ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-28 20:28:02681parcourir

Why Am I Getting

En PHP, les déclarations de méthode doivent être compatibles avec les méthodes parent

Les programmeurs PHP peuvent rencontrer le message d'erreur suivant :

Strict Standards: Declaration of childClass::customMethod() should be compatible with that of parentClass::customMethod()

Cette erreur signifie un incompatibilité entre la déclaration d'une méthode dans une classe enfant et la déclaration de méthode de sa classe parent.

Causes possibles :

  • Arguments différents : La méthode customMethod() de la classe enfant doit avoir le même nombre, le même type et le même ordre d'arguments que la méthode customMethod() de la classe parent.
  • Différence de niveau d'accès : La méthode de la classe enfant doit avoir le même niveau d'accès ou un niveau supérieur (public/privé/protégé) que la méthode de la classe parent.

Détermination de la compatibilité :

Pour comprendre la compatibilité, tenez compte des éléments suivants Section du manuel PHP :

  • [Comparaison des signatures de méthode](https://www.php.net/manual/en/langue.oop5.basic.php#langue.oop5.basic.method-signature )
  • [Surcharge de méthode](https://www.php.net/manual/en/langue.oop5.overloading.php)

Ces ressources expliquent les critères de la méthode compatibilité, ce qui inclut d'avoir le même :

  • Nom de la méthode
  • Nombre et type d'arguments
  • Type de retour
  • Niveau d'accès

En résolvant ces problèmes de compatibilité, les programmeurs peuvent éliminer l'erreur et garantir un héritage et un remplacement de méthode appropriés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn