PHP インターフェースの特徴
1. インターフェースのメソッドは public である必要があります。 2. インターフェイス メソッドはデフォルトで抽象であるため、メソッド名の前に abstract を追加しないでください。 3. インターフェイスでは定数を定義できますが、メンバー属性は定義できません。定数の定義と使用法はクラスと同じです。 4. クラスは複数のインターフェイスを実装できます (PHS、MP3、MP4 の機能を実装した携帯電話など、複数の機能を 1 つに統合することに相当) 5. インターフェイスは次のことができます。インターフェイスも継承されます。インターフェースの定義と呼び出し
<?php interface face1 { const param = 'test'; public function show(); } class test implements face1 { public function show() { echo "interface is run<br>"; } } $face = new test(); echo $face->show(); //inerface is run echo face1::param; //test ?>注: 上記の例では、インターフェースのメソッド名が show であり、クラスが show であることに注意してください。インターフェイスを継承するには show メソッドが必要です。そうでない場合はエラーが報告されます。つまり、インターフェースのメソッドは偽物であり、実際に動作するのは継承クラスのメソッドであるため、PHP の抽象クラスに似たインターフェースになっていると思います。
厳密なパラメータ制約
<?php interface face1 { public function show(show $show); } // 显示正常 class test implements face1 { public function show(show $show) { echo "asdfasdf"; } } // 报fatal错误 class test2 implements face1 { public function show(aaa $aaa) { } } ?>説明: 上の例では致命的なエラーが報告されていますが、なぜ致命的なエラーが報告されるのでしょうか?その理由は、渡されたパラメータが show $show ではなく aaa $aaa であるためです。継承するインターフェイス クラスでは、インターフェイスのメソッドを呼び出すときに、渡されるパラメーターがインターフェイス内のパラメーター名と一致する必要があります。それ以外の場合は、エラーが報告されます。 推奨学習:
以上がPHP インターフェースはいくつの部分で構成されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。