ホームページ >バックエンド開発 >PHPの問題 >PHP インターフェースはいくつの部分で構成されていますか?

PHP インターフェースはいくつの部分で構成されていますか?

青灯夜游
青灯夜游オリジナル
2019-11-21 18:11:243829ブラウズ

PHP インターフェースはいくつの部分で構成されていますか?

#プログラム インターフェイスは、一連のステートメント、関数、オプション、プログラムの構造を表現するその他の形式、およびプログラマーが使用するプログラムまたはプログラミング言語によって提供されるデータで構成されます


PHP インターフェースの特徴

1. インターフェースのメソッドは public である必要があります。

2. インターフェイス メソッドはデフォルトで抽象であるため、メソッド名の前に abstract を追加しないでください。

3. インターフェイスでは定数を定義できますが、メンバー属性は定義できません。定数の定義と使用法はクラスと同じです。

4. クラスは複数のインターフェイスを実装できます (PHS、MP3、MP4 の機能を実装した携帯電話など、複数の機能を 1 つに統合することに相当)

5. インターフェイスは次のことができます。インターフェイスも継承されます。

インターフェースの定義と呼び出し

<?php
interface face1
{
const param = &#39;test&#39;;
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 インターフェースはいくつの部分で構成されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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