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

phpインターフェースは何で構成されていますか?

(*-*)浩
(*-*)浩オリジナル
2019-10-21 10:50:482820ブラウズ

主にクラス名、クラスが持つメソッド、渡されるパラメータを制約・規制するもので、phpの抽象抽象クラスに似た感じです。

phpインターフェースは何で構成されていますか?

1. インターフェイスの定義と呼び出し (推奨学習: PHP ビデオ チュートリアル)

<?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 メソッドが必要であることです。そうでない場合はエラーが報告されます。つまり、インターフェースのメソッドは偽物であり、実際に動作するのは継承クラスのメソッドであるため、PHP の抽象クラスに似たインターフェースになっていると思います。

2 番目に、パラメータの制約が比較的厳しいです

<?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 サイトの他の関連記事を参照してください。

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