ホームページ  >  記事  >  バックエンド開発  >  「childClass::customMethod() の宣言はparentClass::customMethod() の宣言と互換性があるはずです」というメッセージが表示されるのはなぜですか?

「childClass::customMethod() の宣言はparentClass::customMethod() の宣言と互換性があるはずです」というメッセージが表示されるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 20:28:02677ブラウズ

Why Am I Getting

PHP では、メソッド宣言には親メソッドとの互換性が必要です

PHP プログラマーは次のエラー メッセージが表示される場合があります。

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

このエラーは、子クラスのメソッド宣言とその親クラスのメソッド宣言が一致していません。

考えられる原因:

  • 異なる引数: 子クラスのメソッドcustomMethod() は、親クラスのcustomMethod() と同じ数、型、および順序の引数を持つ必要があります。
  • アクセス レベルの違い: 子クラスのメソッドは次の内容を持っている必要があります。親クラスのメソッドと同じまたはそれ以上のアクセス レベル (パブリック/プライベート/プロテクト)。

互換性の判断:

互換性を理解するには、次の点を考慮してください。 PHP マニュアルセクション:

  • [メソッド署名の比較](https://www.php.net/manual/en/ language.oop5.basic.php# language.oop5.basic.method-signature )
  • [メソッドのオーバーロード](https://www.php.net/manual/en/ language.oop5.overloading.php)

これらのリソースでは、メソッドの基準について説明しています互換性。これには、以下が同じであることも含まれます。

  • メソッド名
  • 引数の数と型
  • 戻り値の型
  • アクセス レベル

これらの互換性の問題に対処することで、プログラマはエラーを排除し、適切な継承とメソッドのオーバーライドを保証できます。

以上が「childClass::customMethod() の宣言はparentClass::customMethod() の宣言と互換性があるはずです」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。