日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PHP interface:接口
繼承的特性簡化了對象、類的創(chuàng)建,增加了代碼的重用性。但 php 只支持單繼承,也就是說每個類只能繼承一個父類。為了解決這個問題,PHP 引入了接口。接口是一種特殊的抽象類,而抽象類又是一種特殊的類,所以可以將接口看作是一種特殊的類。

1、接口的聲明

如果抽象類中的所有方法都是抽象方法,我們就可以使用另外一種聲明方式——“接口”技術(shù)。我們都知道類的聲明是使用“class”關(guān)鍵字,而接口的聲明則是使用“interface”關(guān)鍵字。聲明接口的格式如下所示:

interface 接口名稱{
    // 常量成員
    // 抽象方法
}

接口中所有的方法都是抽象方法,而且不需要在方法前使用 abstract 關(guān)鍵字進行修飾。而且在接口中也不需要顯示地使用 public 訪問權(quán)限來進行修飾,因為默認(rèn)權(quán)限就是 public 的,也只能是 public(公有的)。另外,接口中不能聲明變量,只能使用 const 關(guān)鍵字聲明為常量類型的成員屬性。

接口和抽象類一樣也不能實例化為對象,它是一種更嚴(yán)格的規(guī)范,也需要通過子類來實現(xiàn)。與抽象類不同的是,接口可以直接使用接口名稱在接口外面獲取常量成員的值。示例代碼如下所示:

';
    echo Demo::URL;
?>

運行結(jié)果如下:

C語言中文網(wǎng)
http://c.biancheng.net/php/

2、接口的應(yīng)用

因為接口不能進行實例化操作,所以要使用接口中的成員,就必須借助子類。在子類中繼承接口需要使用 implements 關(guān)鍵字,如果要實現(xiàn)多個接口的繼承,那么每個接口之間使用逗號
,分隔。

在使用 implements 關(guān)鍵字繼承接口的同時,還可以使用 extends 關(guān)鍵字來繼承一個類。也就是說,可以在繼承一個類的同時實現(xiàn)多個接口,但一定要先使用 extends 繼承類再去使用 implements 實現(xiàn)多個接口。語法格式如下:

class 類名 extends 父類名 implements 接口一, 接口二, ..., 接口 n {
    // 實現(xiàn)所有接口中的抽象方法
}

下面通過一個簡單的示例來演示一下接口的使用,代碼如下:

';
        }
        public function fun2(){
            echo self::URL;
        }
    }

    $obj = new Website();
    $obj -> fun1();
    $obj -> fun2();
?>

運行結(jié)果如下:

C語言中文網(wǎng)
http://c.biancheng.net/php/

提示:既然要通過子類繼承了接口中的方法,那么接口中的所有方法都必須在子類中實現(xiàn),否則 PHP 將拋出如下所示的錯誤信息:

Fatal error: Class Website contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Demo::fun2) ... ...

我們還可以使用 extends 關(guān)鍵字讓一個接口去繼承另一個接口,實現(xiàn)接口之間的擴展。在下面的示例中先定義一個接口 One,然后再定義一個接口 Two 來繼承 One:

interface One{
    function fun1();
    function fun2();
}
interface Two extends One{
    function fun3();
    function fun4();
}

如果需要使用抽象類去實現(xiàn)接口中的部分方法,也需要使用 implements 關(guān)鍵字。示例代碼如下所示:

interface Demo{
    function fun1();
    function fun2();
}
abstract class Website implements Demo{
    public function fun2(){
        ... ... ;
    }
    abstract function fun3();
}

說了這么多,那么使用接口具體有什么作用呢?其實它的作用很簡單,當(dāng)有很多人一起開發(fā)一個項目時,每個人都可能會去調(diào)用別人寫的一些類。這時有人就會問了,我怎么知道別人的某個功能的實現(xiàn)方法是怎么命名的呢?這個時候 PHP 接口就起到作用了。

簡單來說,我們可以將接口看作一個類的模板或者類的規(guī)定。如果你屬于這類,你就必須遵循這個類的規(guī)定,少一個都不行,但是具體怎么去做,那是你的事。也就是說我們可以定義一些接口,每個接口中都包含若干的抽象方法。在多人開發(fā)時,每個人都根據(jù)自己的需要來實現(xiàn)一部分接口,這樣就可以避免我們在調(diào)用別人開發(fā)的方法時不知道方法名的尷尬了。


新聞名稱:PHP interface:接口
轉(zhuǎn)載注明:http://www.5511xx.com/article/dhepcsh.html