溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php中的interface是什么?

發(fā)布時間:2020-05-21 09:16:01 來源:億速云 閱讀:275 作者:Leah 欄目:編程語言

php中的interface是什么?相信大部分人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。

interface是指接口,使用接口(interface)你可以指定某個類必須實現(xiàn)哪些方法,但不需要定義這些方法的具體內(nèi)容。

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

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

實現(xiàn)

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

注意:

1、實現(xiàn)多個接口時,接口中的方法不能有重名。

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

常量

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

接口代碼示例

<?php
 
// 聲明一個'iTemplate'接口
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml($template);
}
 
 
// 實現(xiàn)接口
// 下面的寫法是正確的
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;
    }
}
?>

以上就是php中的interface的具體介紹,內(nèi)容較為全面,而且我也相信有相當?shù)囊恍┕ぞ呖赡苁俏覀內(nèi)粘9ぷ骺赡軙姷交蛴玫降?。通過這篇文章,希望你能收獲更多。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI