ホームページ >バックエンド開発 >PHPの問題 >PHPのインターフェースとはどういう意味ですか?

PHPのインターフェースとはどういう意味ですか?

王林
王林オリジナル
2020-04-25 10:28:204592ブラウズ

PHPのインターフェースとはどういう意味ですか?

インターフェースはインターフェースを指します。インターフェース (インターフェース) を使用すると、特定のクラスが実装する必要があるメソッドを指定できますが、これらのメソッドの具体的な内容を定義する必要はありません。

標準クラスを定義するのと同じように、interface を通じてインターフェイスを定義できますが、その中で定義されているメソッドはすべて空です。

インターフェイスで定義されたすべてのメソッドはパブリックである必要があります。これはインターフェイスの特性です。

実装

インターフェイスを実装するには、implements 演算子を使用できます。クラスは、インターフェイスで定義されているすべてのメソッドを実装する必要があります。実装しない場合は、致命的なエラーが報告されます。複数のインターフェイスを実装する場合は、カンマを使用して複数のインターフェイスの名前を区切ることができます。

注:

1. 複数のインターフェイスを実装する場合、インターフェイス内のメソッドに同じ名前を付けることはできません。

2. インターフェイスは、extends 演算子を使用して継承することもできます。

定数

定数はインターフェイスで定義することもできます。インターフェイス定数とクラス定数はまったく同じように使用されます。これらはすべて固定値であり、サブクラスやサブインターフェイスによって変更することはできません。

インターフェイス コードの例

<?php
 
// 声明一个&#39;iTemplate&#39;接口
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}
 
 
// 实现接口
// 下面的写法是正确的
class Template implements iTemplate
{
    private $vars = array();
  
    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
  
    public function getHtml($template)
    {
        foreach($this->vars as $name => $value) {
            $template = str_replace(&#39;{&#39; . $name . &#39;}&#39;, $value, $template);
        }
 
        return $template;
    }
}
 
// 下面的写法是错误的,会报错:
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();
  
    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
}
?>

その他の関連チュートリアルについては、php 中国語 Web サイトをご覧ください。

以上がPHPのインターフェースとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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