php中的interface是什麼意思

2020-07-16 10:06:36

interface是指介面,使用介面(interface)你可以指定某個類必須實現哪些方法,但不需要定義這些方法的具體內容。

我們可以通過interface來定義一個介面,就像定義一個標準的類一樣,但其中定義所有的方法都是空的。

介面中定義的所有方法都必須是public,這是介面的特性。

實現

要實現一個介面,可以使用implements操作符。類中必須實現介面中定義的所有方法,否則會報一個fatal錯誤。如果要實現多個介面,可以用逗號來分隔多個介面的名稱。

注意:

1、實現多個介面時,介面中的方法不能有重名。

2、介面也可以繼承,通過使用extends操作符。

常數

介面中也可以定義常數。介面常數和類常數的使用完全相同。 它們都是定值,不能被子類或子介面修改。

介面程式碼範例

<?php
 
// 宣告一個'iTemplate'介面
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('{' . $name . '}', $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;
    }
}
?>

更多相關教學請存取TW511.COM

以上就是php中的interface是什麼意思的詳細內容,更多請關注TW511.COM其它相關文章!